Storage medium having stored thereon information processing program, and information processing device

ABSTRACT

An example system includes a physiological sensor for generating physiological data associated with a user bearing the physiological sensor. The physiological sensor is configured to wirelessly communicate the physiological data. A portable device includes a touch input device; an accelerometer for generating accelerometer data indicative of activity of the user; wireless communication circuitry for receiving the physiological data; memory for storing the accelerometer data and the physiological sensor data; and a vibrator for providing tactile output to the user. The wireless communication circuitry transmits the physiological data and the accelerometer data to a computer device for use in a presentation application.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/559,667, filed Sep. 15, 2009, which claims priority to JapanesePatent Application No. 2009-076919, filed Mar. 26, 2009. The entirecontents of each of these applications are hereby incorporated herein byreference.

BACKGROUND

1. Technical Field

The present invention relates to a storage medium having stored thereonan information processing program and an information processing device.More particularly, the present invention relates to a storage mediumhaving stored thereon an information processing program and aninformation processing device which perform predetermined presentationbased on a biological signal of the user.

2. Description of the Background Art

For example, Takayuki HASEGAWA and Kiyoko YOKOYAMA, “The RelaxationBiofeedback System With Computer and Heart Rate VariabilityInteraction”, IEICE technical report, ME and bio cybernetics, TheInstitute of Electronics, Information and Communication Engineers, Vol.103, No. 470, pp. 35-38, Nov. 20, 2003 (hereinafter referred to asNon-Patent Document 1) proposes a biofeedback system for stressmanagement or relaxation treatment. The system estimates and presents arelaxation level in real time based on measured heart rate informationof the user. Moreover, the system interacts with the user to improve arelaxation effect on the user, thereby providing a function ofperforming biofeedback in a manner adapted for the individual user.

In the biofeedback system described in Non-Patent Document 1, a value(called a relaxation level) calculated based on the heart rateinformation or the like of the user, is represented by or reflected on amotion of a character or an environment in a sandtray. The biofeedbacksystem thereby interacts with the user in a manner which improves therelaxation effect. However, this representation only visually presentsthe relaxation level to the user, so that the user can only recognize acurrent relaxation level.

SUMMARY

Therefore, an object of the present invention is to provide a storagemedium having stored thereon an information processing program and aninformation processing device which perform predetermined presentationusing a current biological signal of the user and a current motion orattitude of the user, thereby prompting the user to change their state.

The present invention has the following features to attain the objectmentioned above. Note that reference numerals, additional descriptionsand the like inside parentheses in this section indicate correspondenceto embodiments described below for the sake of easy understanding, anddo not limit the present invention.

A first aspect of the present invention is directed to a computerreadable storage medium having stored thereon an information processingprogram executable by a computer (10) of an information processingdevice (5) which presents information corresponding to a biologicalsignal (Dc) acquired from a user. The information processing programcauses the computer to function as biological signal acquiring means (aCPU 10 executing steps 42, 49, 82 and 84; hereinafter only step numbersare described), motion/attitude information acquiring means (S84), andpresentation means (S44, S46, S51, S52, S86, S90, S92, S104, S107 andS111). The biological signal acquiring means acquires the biologicalsignal from the user. The motion/attitude information acquiring meansacquires information about a motion or an attitude of the user fromdetecting means (701), in association with the biological signalacquired by the biological signal acquiring means. The presentationmeans performs predetermined presentation based on both the biologicalsignal acquired by the biological signal acquiring means and theinformation acquired by the motion/attitude information acquiring means.

In a second aspect based on the first aspect, the information processingprogram causes the computer to further function as motion determiningmeans (S85). The motion determining means determines a motion of aninput device (70) operated by the user, based on the informationacquired by the motion/attitude information acquiring means. Thepresentation means performs the presentation based on both thebiological signal acquired by the biological signal acquiring means andthe motion of the input device determined by the motion determiningmeans.

In a third aspect based on the first aspect, the information processingprogram causes the computer to further function as instruction means.The instruction means instructs the user to take a predetermined motionor attitude.

In a fourth aspect based on the third aspect, the presentation meansperforms the presentation based on both the biological signal and theinformation acquired by the motion/attitude information acquiring means,the biological signal and the information being acquired when theinstruction means performs instruction.

In a fifth aspect based on the third aspect, the information processingprogram causes the computer to further function as determination means.The determination means determines whether or not the user is in themotion or attitude which the instruction means instructs the user totake, based on the information acquired by the motion/attitudeinformation acquiring means. The presentation means performs thepresentation based on the biological signal acquired by the biologicalsignal acquiring means, during or after the determination meansdetermines that the user is in the motion or attitude which theinstruction means instructs the user to take.

In a sixth aspect based on the third aspect, the instruction meansinstructs the user to take a motion or an attitude which causes apredetermined biological signal to be output.

In a seventh aspect based on the second aspect, the presentation meansperforms presentation (a ceiling T and a ground B) indicating anoperation moving the input device corresponding to a motion of the inputdevice which can be determined by the motion determining means.

In an eighth aspect based on the first aspect, the presentation meansperforms presentation indicating a predetermined motion or attitude ofthe user, based on both the biological signal acquired by the biologicalsignal acquiring means and the information acquired by themotion/attitude information acquiring means.

In a ninth aspect based on the eighth aspect, the presentation meansperforms presentation indicating a motion or an attitude causing achange in the biological signal, based on the biological signal acquiredby the biological signal acquiring means.

In a tenth aspect based on the first aspect, the biological signalacquiring means acquires as the biological signal a signal relating topulsation or heartbeat of the user.

In an eleventh aspect based on the first aspect, the biological signalacquiring means acquires as the biological signal at least one selectedfrom the group consisting of a pulse wave, a heart rate, an activitylevel of the sympathetic nervous system, an activity level of theparasympathetic nervous system, a heart rate variance coefficient, acardiac cycle, a respiration frequency, and a pulse wave amplitude ofthe user.

In a twelfth aspect based on the eleventh aspect, the biological signalacquiring means acquires at least the pulse wave amplitude of the user.The presentation means determines a difficulty level of the user using achange in the pulse wave amplitude of the user, and performspresentation indicating a motion based on a result of the determination.

In a thirteenth aspect based on the second aspect, the input deviceincludes an acceleration sensor (701). The motion determining meansdetermines a motion of the input device using an acceleration indicatedby acceleration data (Da) outputted from the acceleration sensor.

In a fourteenth aspect based on the thirteenth aspect, the motiondetermining means determines a motion of the input device based on aninclination of the input device with reference to a direction ofgravity, where the direction of gravity is the acceleration indicated bythe acceleration data outputted from the acceleration sensor.

In a fifteenth aspect based on the second aspect, the input deviceincludes a gyro-sensor. The motion determining means determines a motionof the input device using an angular velocity indicated by angularvelocity data outputted from the gyro-sensor.

In a sixteenth aspect based on the first aspect, the presentation meansperforms the presentation by displaying on a display device (2) at leasteither of an image and characters generated based on both the biologicalsignal acquired by the biological signal acquiring means and theinformation acquired by the motion/attitude information acquiring means.

In a seventeenth aspect based on the sixteenth aspect, the presentationmeans performs the presentation by displaying on the display device anobject (PC) generated based on both the biological signal acquired bythe biological signal acquiring means and the information acquired bythe motion/attitude information acquiring means.

In an eighteenth aspect based on the first aspect, the presentationmeans performs the presentation by controlling a motion of apredetermined object displayed on a display device, based on both thebiological signal acquired by the biological signal acquiring means andthe information acquired by the motion/attitude information acquiringmeans.

In a nineteenth aspect based on the eighteenth aspect, the presentationmeans performs presentation in which the object performs a first motionin a virtual world based on the biological signal acquired by thebiological signal acquiring means, and performs presentation in whichthe object performs a second motion different from the first motion inthe virtual world based on the information acquired by themotion/attitude information acquiring means.

In a twentieth aspect based on the nineteenth aspect, the presentationmeans moves at least a portion of the object in the virtual world as oneof the first and second motions, and changes an attitude of the objectin the virtual world as the other of the first and second motions.

In a twenty-first aspect based on the twelfth aspect, the presentationmeans moves at least a portion of the object in a predetermined firstdirection in the virtual world as one of the first and second motions,and moves at least a portion of the object in a predetermined seconddirection in the virtual world as the other of the first and secondmotions.

In a twenty-second aspect based on the eighteenth aspect, theinformation processing program causes the computer to further functionas object motion determining means. The object motion determining meansdetermines a motion of the object in the virtual world.

In a twenty-third aspect based on the twenty-second aspect, theinformation processing program causes the computer to further functionas instruction means. The instruction means instructs the user to take apredetermined motion or attitude by causing a topographical object fordesignating a motion of the object to appear in the virtual world. Theobject motion determining means determines whether or not the objectcontacts the topographical object.

In a twenty-fourth aspect based on the twenty-third aspect, theinstruction means changes the topographical object, depending on thebiological signal acquired by the biological signal acquiring means.

In a twenty-fifth aspect based on the nineteenth aspect, thepresentation means moves at least a portion of the object in apredetermined direction as the first motion, depending on a biologicalsignal relating to respiration of the user acquired by the biologicalsignal acquiring means.

In a twenty-sixth aspect based on the twenty-fifth aspect, thepresentation means performs the presentation by further displaying onthe display device an obstacle (ceiling T) in the virtual world whichlimits a movement in the predetermined direction of the object, theobjects rising and falling based a respiration frequency of the useracquired from the biological signal acquired by the biological signalacquiring means. The information processing program causes the computerto further function as assessment means (S101 and S102). The assessmentmeans degrades assessment when the object contacts or overlaps therising and falling obstacle in the virtual world.

In a twenty-seventh aspect based on the nineteenth aspect, thebiological signal acquiring means acquires at least a pulse waveamplitude of the user. The presentation means performs the presentationby determining a difficulty level of the user using a change in thepulse wave amplitude of the user acquired by the biological signalacquiring means, and when determining the user has difficulty, changinga way in which the object is displayed.

In a twenty-eighth aspect based on the twenty-seventh aspect, thepresentation means changes and inclines an attitude of the object in thevirtual world as the second motion based on the information acquired bythe motion/attitude information acquiring means. The informationprocessing program causes the computer to further function as assessmentmeans. The assessment means degrades assessment when the object contactsor overlaps an obstacle (ground B) in the virtual world, an inclinationangle of the obstacle limiting an inclining motion of the object in thevirtual world. The assessment means gradually increases and changes theinclination angle of the obstacle with time, and when the presentationmeans determines that the user has difficulty, stops changing theinclination angle of the obstacle.

In a twenty-ninth aspect based on the first aspect, the presentationmeans performs the presentation by outputting audio based on both thebiological signal acquired by the biological signal acquiring means andthe information acquired by the motion/attitude information acquiringmeans.

A thirtieth aspect is directed to an information processing device forpresenting information corresponding to a biological signal acquiredfrom a user. The information processing device includes biologicalsignal acquiring means, motion/attitude information acquiring means, andpresentation means. The biological signal acquiring means acquires thebiological signal from the user. The motion/attitude informationacquiring means acquires information about a motion or an attitude ofthe user from detecting means, in association with the biological signalacquired by the biological signal acquiring means. The presentationmeans performs predetermined presentation based on both the biologicalsignal acquired by the biological signal acquiring means and theinformation acquired by the motion/attitude information acquiring means.

According to the first aspect, predetermined presentation is performedusing not only a current user's biological signal, but also a currentuser's motion or attitude. Therefore, the user can recognize a state oftheir body to larger extent, and a change in a state of the user's bodycan be promoted by combination of a user's motion or attitude.

According to the second aspect, a current user's motion or attitude canbe detected by the user moving the input device.

According to the third aspect, the user can be caused to take anappropriate motion or attitude.

According to the fourth aspect, presentation can be performed based oninformation which is obtained when the user takes an instructed motionor attitude.

According to the fifth aspect, a change in biological signal caused bythe user taking an instructed motion or attitude can be presented.

According to the sixth aspect, it is possible to instruct the user totake a motion or an attitude which generates an appropriate biologicalsignal.

According to the seventh aspect, the user is prompted to move the inputdevice, and therefore, a change in a state of the user's body can bepromoted by the user's act of moving the input device.

According to the eighth aspect, the user is prompted to take a motion oran attitude based on a user's biological signal. Therefore, a change ina state of the user's body relating to the biological signal can bepromoted by the user's motion or attitude.

According to the ninth aspect, the user can be prompted to take a motionor an attitude which causes a change in a user's biological signal.

According to the tenth aspect, presentation relating to a user's pulserate or heart rate can be performed.

According to the eleventh aspect, presentation can be performed for theuser using a pulse wave, a heart rate, an activity level of thesympathetic nervous system, an activity level of the parasympatheticnervous system, a heart rate variance coefficient, a cardiac cycle, arespiration frequency, or a pulse wave amplitude.

According to the twelfth aspect, a difficulty level of the user isdetermined. Therefore, it is possible to instruct the user to take anappropriate motion or attitude based on a result of the determination.

According to the thirteenth aspect, a motion of the input device can bedetermined based on an acceleration acting on the input device.

According to the fourteenth aspect, an inclination of the input devicecan be determined with reference to a direction of gravity acting on theinput device.

According to the fifteenth aspect, a motion of the input device can bedetermined using rotation of the input device.

According to the sixteenth aspect, an image or characters are presentedbased on a user's biological signal and a user's motion or attitude.Therefore, the user can recognize a state of their body to largerextent, and a change in a state of the user's body can be promoted bycombination of a user's motion or attitude.

According to the seventeenth and eighteenth aspects, an object ispresented based on a user's biological signal and a user's motion orattitude in the virtual world. Therefore, the user can recognize a stateof their body to larger extent, and a change in a state of the user'sbody can be promoted by combination of a user's motion or attitude.

According to the nineteenth aspect, an object in the virtual worldperforms different motions based on a user's biological signal and auser's motion or attitude. Therefore, the user can recognize anddistinguish presentation based on their biological signal frompresentation based on their motion or attitude. As a result, the usercan move an object based on their biological signal while moving theobject based on their motion or attitude.

According to the twentieth aspect, an object in the virtual space can beinclined and a portion of the object is moved based on a user's motionor attitude and a user's biological signal.

According to the twenty-first aspect, an object in the virtual world ismoved in different directions based on a user's biological signal and auser's motion or attitude. Therefore, the user can recognize anddistinguish presentation based on their biological signal frompresentation based on their motion or attitude. As a result, the usercan move an object based on their biological signal while moving theobject based on their motion or attitude.

According to the twenty-second aspect, a motion of an object can be usedto assess a user's biological signal or a user's motion or attitude.

According to the twenty-third aspect, an operation depending on atopographical object is required. Therefore, a state of the user's bodycan be promoted by causing the user to generate a biological signalcorresponding to the operation, perform a motion corresponding to theoperation, or take an attitude corresponding to the operation.

According to the twenty-fourth aspect, it is possible to instruct theuser to perform an appropriate operation based on a user's biologicalsignal.

According to the twenty-fifth aspect, a portion of an object can bemoved in a predetermined direction based on user's respiration.

According to the twenty-sixth aspect, the user has to operate an objectin a manner which allows the object to avoid an obstacle, and therefore,has to breathe in a manner which allows the object to avoid theobstacle. On the other hand, a shape of the obstacle is determined basedon a user's respiration frequency. Therefore, it is possible to providea shape of the object which can gradually decrease the user'srespiration frequency. It is also possible to provide a shape of theobject which can gradually increase the user's respiration frequency.

According to the twenty-seventh aspect, a difficulty level of the usercan be presented by a way in which an object is displayed.

According to the twenty-eighth aspect, the user has to operate an objectin a manner which allows the object to avoid an obstacle, and therefore,has to take a motion or attitude which allows the object to avoid theobstacle. When the user performs a motion corresponding to aninclination of the obstacle, then if the user has difficulty in doingso, the inclination of the obstacle is no longer changed. Therefore,control can be performed, depending on the difficulty level of the user.

According to the twenty-ninth aspect, audio is presented based on auser's biological signal and a user's motion or attitude. Therefore, theuser can recognize a state of their body to larger extent, and a changein a state of the user's body can be promoted by combination of a user'smotion or attitude.

According to the information processing device of the present invention,effects similar to those of the aforementioned storage medium havingstored thereon the information processing program can be obtained.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view showing an example of a game system 1according to an embodiment of the present invention;

FIG. 2 is a block diagram showing an example of a game apparatus body 5of FIG. 1;

FIG. 3 is an isometric view of a core unit 70 of FIG. 1 seen from a toprear side thereof;

FIG. 4 is an isometric view of the core unit 70 of FIG. 3 seen from abottom front side thereof;

FIG. 5 is an isometric view, showing that an upper casing of the coreunit 70 of FIG. 3 is removed;

FIG. 6 is an isometric view, showing that a lower casing of the coreunit 70 of FIG. 4 is removed;

FIG. 7 is a block diagram showing an example of a configuration of thecore unit 70 of FIG. 3;

FIG. 8 is a block diagram showing an example of a configuration of avital sensor 76;

FIG. 9 is a diagram showing an example of pulse wave information whichis an example of biological information outputted from the vital sensor76;

FIG. 10 is a diagram showing an example of an image displayed on amonitor 2;

FIG. 11 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 12 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 13 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 14 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 15 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 16 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 17 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 18 is a diagram showing an example of an image displayed on themonitor 2;

FIG. 19 is a diagram showing an example of main data and a programstored in a main memory of the game apparatus body 5;

FIG. 20 is a flowchart showing an example of information processingexecuted in the game apparatus body 5;

FIG. 21 is a flowchart showing an example of an operation in the firsthalf of a stretch game process in step 48 of FIG. 20; and

FIG. 22 is a flowchart showing an example of an operation in the secondhalf of the stretch game process in step 48 of FIG. 20.

DESCRIPTION OF EXAMPLE EMBODIMENTS

With reference to FIG. 1, an apparatus for executing an informationprocessing program according to an embodiment of the present invention,will be described. Hereinafter, in order to give a specific description,a description will be given using a game system including a stationarygame apparatus body 5 that is an example of the above apparatus. FIG. 1is an external view showing an example of a game system 1 including astationary game apparatus 3. FIG. 2 is a block diagram showing anexample of the game apparatus body 5. The game system 1 will bedescribed below.

As shown in FIG. 1, the game system 1 includes: a home-use TV receiver 2(hereinafter, referred to as a monitor 2) which is an example of displaymeans; and the stationary game apparatus 3 connected to the monitor 2via a connection cord. The monitor 2 has loudspeakers 2 a foroutputting, in the form of sound, an audio signal outputted from thegame apparatus 3. The game apparatus 3 includes: an optical disc 4storing a game program that is an example of an information processingprogram of the present invention; the game apparatus body 5 having acomputer for executing the game program of the optical disc 4 to causethe monitor 2 to output and display a game screen; and a controller 7for providing the game apparatus body 5 with necessary operationinformation for a game in which a character or the like displayed in thegame screen is controlled.

The game apparatus body 5 has a wireless controller module 19 therein(see FIG. 2). The wireless controller module 19 receives data wirelesslytransmitted from the controller 7, and transmits data from the gameapparatus body 5 to the controller 7. In this manner, the controller 7and the game apparatus body 5 are connected by wireless communication.Further, the optical disc 4 as an example of an exchangeable informationstorage medium is detachably mounted on the game apparatus body 5.

On the game apparatus body 5, a flash memory 17 (see FIG. 2) is mounted,the flash memory 17 acting as a backup memory for fixedly storing suchdata as saved data. The game apparatus body 5 executes the game programor the like stored on the optical disc 4, and displays a result thereofas a game image on the monitor 2. The game program or the like to beexecuted may be prestored not only on the optical disc 4, but also inthe flash memory 17. The game apparatus body 5 can reproduce a state ofthe game played in the past, by using the saved data stored in the flashmemory 17, and display a game image of the reproduced state on themonitor 2. A user of the game apparatus 3 can enjoy advancing in thegame by operating the controller 7 while watching the game imagedisplayed on the monitor 2.

By using the technology of, for example, Bluetooth (registeredtrademark), the controller 7 wirelessly transmits transmission data,such as operation information and biological information, to the gameapparatus body 5 having the wireless controller module 19 therein. Thecontroller 7 includes a core unit 70 and a vital sensor 76. The coreunit 70 and the vital sensor 76 are connected to each other via aflexible connection cable 79. The core unit 70 is operation means mainlyfor controlling an object or the like displayed on a display screen ofthe monitor 2. The vital sensor 76 is attached to a user's body (e.g.,to the user's finger). The vital sensor obtains biological signals fromthe user, and sends biological information to the core unit 70 via theconnection cable 79. The core unit 70 includes a housing, which is smallenough to be held by one hand, and a plurality of operation buttons(including a cross key, a stick or the like) exposed at a surface of thehousing. As described later in detail, the core unit 70 includes animaging information calculation section 74 for taking an image of a viewseen from the core unit 70. As an example of imaging targets of theimaging information calculation section 74, two LED modules 8L and 8R(hereinafter, referred to as “markers 8L and 8R”) are provided in thevicinity of the display screen of the monitor 2. These markers 8L and 8Reach output, for example, an infrared light forward from the monitor 2.The controller 7 (e.g., the core unit 70) is capable of receiving, via acommunication section 75, transmission data wirelessly transmitted fromthe wireless controller module 19 of the game apparatus body 5, andgenerating a sound or vibration based on the transmission data.

Note that, in this example, the core unit 70 and the vital sensor 76 areconnected by the flexible connection cable 79. However, the connectioncable 79 can be eliminated by mounting a wireless unit on the vitalsensor 76. For example, by mounting a Bluetooth (registered trademark)unit on the vital sensor 76 as a wireless unit, transmission ofbiological information from the vital sensor 76 to the core unit 70 orto the game apparatus body 5 is enabled. Further, the core unit 70 andthe vital sensor 76 may be integrated, by fixedly providing the vitalsensor 76 on the core unit 70. In this case, a user can use the vitalsensor 76 integrated with the core unit 70.

Next, an internal configuration of the game apparatus body 5 will bedescribed with reference to FIG. 2. FIG. 2 is a block diagram showingthe internal configuration of the game apparatus body 5. The gameapparatus body 5 has a CPU (Central Processing Unit) 10, a system LSI(Large Scale Integration) 11, an external main memory 12, a ROM/RTC(Read Only Memory/Real Time Clock) 13, a disc drive 14, an AV-IC (AudioVideo-Integrated Circuit) 15, and the like.

The CPU 10 performs game processing by executing the game program storedin the optical disc 4, and acts as a game processor. The CPU 10 isconnected to the system LSI 11. In addition to the CPU 10, the externalmain memory 12, the ROM/RTC 13, the disc drive 14 and the AV-IC 15 areconnected to the system LSI 11. The system LSI 11 performs processingsuch as: controlling data transfer among components connected to thesystem LSI 11; generating an image to be displayed; obtaining data fromexternal devices; and the like. An internal configuration of the systemLSI 11 will be described later. The external main memory 12 that is avolatile memory stores a program, for example, a game program loadedfrom the optical disc 4, or a game program loaded from the flash memory17, and also stores various data. The external main memory 12 is used asa work area or buffer area of the CPU 10. The ROM/RTC 13 has a ROM inwhich a boot program for the game apparatus body 5 is incorporated(so-called a boot ROM), and has a clock circuit (RTC) which counts thetime. The disc drive 14 reads program data, texture data and the likefrom the optical disc 4, and writes the read data into a later-describedinternal main memory 35 or into the external main memory 12.

On the system LSI 11, an input/output processor 31, a GPU (GraphicProcessor Unit) 32, a DSP (Digital Signal Processor) 33, a VRAM (VideoRAM) 34, and the internal main memory 35 are provided. Although notshown, these components 31 to 35 are connected to each other via aninternal bus.

The GPU 32 is a part of rendering means, and generates an image inaccordance with a graphics command from the CPU 10. The VRAM 34 storesnecessary data for the GPU 32 to execute the graphics command (data suchas polygon data, texture data and the like). At the time of generatingthe image, the GPU 32 uses the data stored in the VRAM 34, therebygenerating image data.

The DSP 33 acts as an audio processor, and generates audio data by usingsound data and sound waveform (tone) data stored in the internal mainmemory 35 and in the external main memory 12.

The image data and the audio data generated in the above manner are readby the AV-IC 15. The AV-IC 15 outputs the read image data to the monitor2 via the AV connector 16, and outputs the read audio data to theloudspeakers 2 a embedded in the monitor 2. As a result, an image isdisplayed on the monitor 2 and a sound is outputted from theloudspeakers 2 a.

The input/output processor (I/O Processor) 31 performs, for example,data transmission/reception to/from components connected thereto, anddata downloading from external devices. The input/output processor 31 isconnected to the flash memory 17, a wireless communication module 18,the wireless controller module 19, an expansion connector 20, and anexternal memory card connector 21. An antenna 22 is connected to thewireless communication module 18, and an antenna 23 is connected to thewireless controller module 19.

The input/output processor 31 is connected to a network via the wirelesscommunication module 18 and the antenna 22 so as to be able tocommunicate with other game apparatuses and various servers connected tothe network. The input/output processor 31 regularly accesses the flashmemory 17 to detect presence or absence of data that is required to betransmitted to the network. If such data is present, the data istransmitted to the network via the wireless communication module 18 andthe antenna 22. Also, the input/output processor 31 receives, via thenetwork, the antenna 22 and the wireless communication module 18, datatransmitted from other game apparatuses or data downloaded from adownload server, and stores the received data in the flash memory 17. Byexecuting the game program, the CPU 10 reads the data stored in theflash memory 17, and the game program uses the read data. In addition tothe data transmitted and received between the game apparatus body 5 andother game apparatuses or various servers, the flash memory 17 may storesaved data of a game that is played using the game apparatus body 5(such as result data or progress data of the game).

Further, the input/output processor 31 receives, via the antenna 23 andthe wireless controller module 19, operation data or the liketransmitted from the controller 7, and stores (temporarily) theoperation data or the like in a buffer area of the internal main memory35 or of the external main memory 12. Note that, similarly to theexternal main memory 12, the internal main memory 35 may store aprogram, for example, a game program loaded from the optical disc 4 or agame program loaded from the flash memory 17, and also store variousdata. The internal main memory 35 may be used as a work area or bufferarea of the CPU 10.

In addition, the expansion connector 20 and the external memory cardconnector 21 are connected to the input/output processor 31. Theexpansion connector 20 is a connector for such interface as USB, SCSI orthe like. The expansion connector 20, instead of the wirelesscommunication module 18, is able to perform communication with a networkby being connected to such a medium as an external storage medium, tosuch a peripheral device as another controller, or to a connector forwired communication. The external memory card connector 21 is aconnector to be connected to an external storage medium such as a memorycard. For example, the input/output processor 31 is able to access theexternal storage medium via the expansion connector 20 or the externalmemory card connector 21 to store or read data from the external storagemedium.

On the game apparatus body 5 (e.g., on a front main surface thereof), apower button 24 of the game apparatus body 5, a reset button 25 forresetting game processing, an insertion slot for mounting the opticaldisc 4 in a detachable manner, an eject button 26 for ejecting theoptical disc 4 from the insertion slot of the game apparatus body 5, andthe like are provided. The power button 24 and the reset button 25 areconnected to the system LSI 11. When the power button 24 is turned on,each component of the game apparatus body 5 is supplied with power viaan AC adaptor that is not shown. When the reset button 25 is pressed,the system LSI 11 re-executes the boot program of the game apparatusbody 5. The eject button 26 is connected to the disc drive 14. When theeject button 26 is pressed, the optical disc 4 is ejected from the discdrive 14.

With reference to FIGS. 3 and 4, the core unit 70 will be described.FIG. 3 is an isometric view of the core unit 70 seen from a top rearside thereof. FIG. 4 is an isometric view of the core unit 70 seen froma bottom front side thereof.

As shown in FIGS. 3 and 4, the core unit 70 includes a housing 71 formedby plastic molding or the like. The housing 71 has a plurality ofoperation sections 72 provided thereon. The housing 71 has anapproximately parallelepiped shape extending in a longitudinal directionfrom front to rear. The overall size of the housing 71 is small enoughto be held by one hand of an adult or even a child.

At the center of a front part of a top surface of the housing 71, across key 72 a is provided. The cross key 72 a is a cross-shapedfour-direction push switch. The cross key 72 a includes operationportions corresponding to four directions (front, rear, right and left),which are respectively located on cross-shaped projecting portionsarranged at intervals of 90 degrees. A user selects one of the front,rear, right and left directions by pressing one of the operationportions of the cross key 72 a. Through an operation of the cross key 72a, the user can, for example, designate a direction in which a playercharacter or the like appearing in a virtual game world is to move, orgive an instruction to select one of a plurality of options.

The cross key 72 a is an operation section for outputting an operationsignal in accordance with the aforementioned direction input operationperformed by the user. Such an operation section may be provided in adifferent form. For example, an operation section, which has four pushswitches arranged in a cross formation and which is capable ofoutputting an operation signal in accordance with pressing of one of thepush switches by the user, may be provided. Alternatively, an operationsection, which has a composite switch having, in addition to the abovefour push switches, a center switch provided at an intersection point ofthe above cross formation, may be provided. Still alternatively, thecross key 72 a may be replaced with an operation section which includesan inclinable stick (so-called a joy stick) projecting from the topsurface of the housing 71 and which outputs an operation signal inaccordance with an inclining direction of the stick. Stillalternatively, the cross key 72 a may be replaced with an operationsection which includes a horizontally-slidable disc-shaped member andwhich outputs an operation signal in accordance with a sliding directionof the disc-shaped member. Still alternatively, the cross key 72 a maybe replaced with a touch pad.

Behind the cross key 72 a on the top surface of the housing 71, aplurality of operation buttons 72 b to 72 g are provided. The operationbuttons 72 b to 72 g are each an operation section for, when the userpresses a head thereof, outputting a corresponding operation signal. Forexample, functions as a 1st button, a 2nd button and an A button areassigned to the operation buttons 72 b to 72 d. Also, functions as aminus button, a home button and a plus button are assigned to theoperation buttons 72 e to 72 g, for example. Operation functions areassigned to the respective operation buttons 72 a to 72 g in accordancewith the game program executed by the game apparatus body 5. In theexemplary arrangement shown in FIG. 3, the operation buttons 72 b to 72d are arranged in a line at the center on the top surface of the housing71 in a front-rear direction. The operation buttons 72 e to 72 g arearranged on the top surface of the housing 71 in a line in a left-rightdirection between the operation buttons 72 b and 72 d. The operationbutton 72 f has a top surface thereof buried in the top surface of thehousing 71, so as not to be inadvertently pressed by the user.

In front of the cross key 72 a on the top surface of the housing 71, anoperation button 72 h is provided. The operation button 72 h is a powerswitch for turning on and off the game apparatus body 5 by remotecontrol. The operation button 72 h also has a top surface thereof buriedin the top surface of the housing 71, so as not to be inadvertentlypressed by the user.

Behind the operation button 72 c on the top surface of the housing 71, aplurality of LEDs 702 are provided. Here, a controller type (a number)is assigned to the core unit 70 such that the core unit 70 isdistinguishable from other controllers. The LEDs 702 are used for, e.g.,informing the user of the controller type currently set for the coreunit 70. Specifically, a signal is transmitted from the wirelesscontroller module 19 to the core unit 70 such that one of the pluralityof LEDs 702, which corresponds to the controller type of the core unit70, is lit up.

On the top surface of the housing 71, sound holes for outputting soundsfrom a later-described speaker (a speaker 706 shown in FIG. 5) to theexternal space are formed between the operation button 72 b and theoperation buttons 72 e to 72 g.

On the bottom surface of the housing 71, a recessed portion is formed.The recessed portion on the bottom surface of the housing 71 is formedin a position in which an index finger or middle finger of the user islocated when the user holds the core unit 70 with one hand so as topoint a front surface thereof to the markers 8L and 8R. On a slopesurface of the recessed portion, an operation button 72 i is provided.The operation button 72 i is an operation section acting as, forexample, a B button.

On the front surface of the housing 71, an image pickup element 743 thatis a part of the imaging information calculation section 74 is provided.The imaging information calculation section 74 is a system for:analyzing image data of an image taken by the core unit 70; identifyingan area having a high brightness in the image; and detecting a positionof the center of gravity, the size, and the like of the area. Theimaging information calculation section 74 has, for example, a maximumsampling period of approximately 200 frames/sec, and therefore can traceand analyze even a relatively fast motion of the core unit 70. Aconfiguration of the imaging information calculation section 74 will bedescribed later in detail. On the rear surface of the housing 71, aconnector 73 is provided. The connector 73 is, for example, an edgeconnector, and is used for engaging and connecting the core unit 70 witha connection cable, for example.

In order to give a specific description below, a coordinate system setwith respect to the core unit 70 will be defined. As shown in FIGS. 3and 4, an X-axis, a Y-axis and a Z-axis, which are perpendicular to oneanother, are defined with respect to the core unit 70. Specifically, thelongitudinal direction of the housing 71, which is the front-reardirection of the core unit 70, is defined as the Z-axis, and a directionalong the Z-axis toward the front surface (a surface on which theimaging information calculation section 74 is provided) of the core unit70 is a Z-axis positive direction. The up-down direction of the coreunit 70 is defined as the Y-axis, and a direction along the Y-axistoward the top surface (a surface on which the operation button 72 a isprovided) of the housing 71 is defined as a Y-axis positive direction.The left-right direction of the core unit 70 is defined as the X-axis,and a direction along the X-axis toward the right side surface (a sidesurface shown in FIG. 3) of the housing 71 is defined as an X-axispositive direction.

Next, an internal structure of the core unit 70 will be described withreference to FIGS. 5 and 6. FIG. 5 is an isometric view, seen from arear surface side of the core unit 70, showing that an upper casing (apart of the housing 71) of the core unit 70 is removed. FIG. 6 is anisometric view, seen from a front surface side of the core unit 70,showing that a lower casing (a part of the housing 71) of the core unit70 is removed. Here, FIG. 6 is an isometric view showing a reverse sideof a substrate 700 shown in FIG. 5.

As shown in FIG. 5, the substrate 700 is fixedly provided inside thehousing 71. On a top main surface of the substrate 700, the operationbuttons 72 a to 72 h, an acceleration sensor 701, the LEDs 702, anantenna 754 and the like are provided. These elements are connected to,for example, a microcomputer 751 (see FIGS. 6 and 7) by wiring (notshown) formed on the substrate 700 and the like. A wireless module 753(see FIG. 7) and the antenna 754 allow the core unit 70 to act as awireless controller. Inside the housing 71, a quartz oscillator, whichis not shown, is provided, and the quartz oscillator generates areference clock of the later-described microcomputer 751. Further, thespeaker 706 and an amplifier 708 are provided on the top main surface ofthe substrate 700. The acceleration sensor 701 is provided, on thesubstrate 700, to the left side of the operation button 72 d (i.e.,provided not on a central part but on a peripheral part of the substrate700). For this reason, in response to the core unit 70 having rotatedaround an axis of the longitudinal direction of the core unit 70, theacceleration sensor 701 is able to detect, in addition to a change in adirection of the gravitational acceleration, acceleration containing acentrifugal component, and the game apparatus body 5 or the like is ableto determine, based on detected acceleration data, a motion of the coreunit 70 by predetermined calculation with favorable sensitivity.

As shown in FIG. 6, at a front edge of the bottom main surface of thesubstrate 700, the imaging information calculation section 74 isprovided. The imaging information calculation section 74 includes aninfrared filter 741, a lens 742, the image pickup element 743, and animage processing circuit 744, which are located in said order from thefront surface of the core unit 70. These elements are attached to thebottom main surface of the substrate 700. At a rear edge of the bottommain surface of the substrate 700, the connector 73 is attached.Further, a sound IC 707 and the microcomputer 751 are provided on thebottom main surface of the substrate 700. The sound IC 707 is connectedto the microcomputer 751 and the amplifier 708 by wiring formed on thesubstrate 700 and the like, and outputs an audio signal via theamplifier 708 to the speaker 706 in response to sound data transmittedfrom the game apparatus body 5.

On the bottom main surface of the substrate 700, a vibrator 704 isattached. The vibrator 704 may be, for example, a vibration motor or asolenoid. The vibrator 704 is connected to the microcomputer 751 bywiring formed on the substrate 700 and the like, and is activated ordeactivated in accordance with vibration data transmitted from the gameapparatus body 5. The core unit 70 is vibrated by actuation of thevibrator 704, and the vibration is conveyed to the user's hand holdingthe core unit 70. Thus, a so-called vibration-feedback game is realized.Since the vibrator 704 is provided at a relatively forward position inthe housing 71, the housing 71 held by the user significantly vibrates,and allows the user to easily feel the vibration.

Next, an internal configuration of the controller 7 will be describedwith reference to FIG. 7. FIG. 7 is a block diagram showing an exampleof the internal configuration of the controller 7.

As shown in FIG. 7, the core unit 70 includes the communication section75 in addition to the above-described operation sections 72, the imaginginformation calculation section 74, the acceleration sensor 701, thevibrator 704, the speaker 706, the sound IC 707, and the amplifier 708.The vital sensor 76 is connected to the microcomputer 751 via theconnection cable 79 and connectors 791 and 73.

The imaging information calculation section 74 includes the infraredfilter 741, the lens 742, the image pickup element 743, and the imageprocessing circuit 744. The infrared filter 741 allows, among lightsincident thereon through the front surface of the core unit 70, only aninfrared light to pass therethrough. The lens 742 condenses the infraredlight having passed through the infrared filter 741, and outputs thecondensed infrared light to the image pickup element 743. The imagepickup element 743 is a solid-state image pickup element such as a CMOSsensor, CCD or the like. The image pickup element 743 takes an image ofthe infrared light condensed by the lens 742. In other words, the imagepickup element 743 takes an image of only the infrared light havingpassed through the infrared filter 741. Then, the image pickup element743 generates image data of the image. The image data generated by theimage pickup element 743 is processed by the image processing circuit744. Specifically, the image processing circuit 744 processes the imagedata obtained from the image pickup element 743, and detects a highbrightness area of the image, and outputs, to the communication section75, process result data indicating results of detecting, for example,position coordinates, a square measure and the like of the highbrightness area. The imaging information calculation section 74 is fixedto the housing 71 of the core unit 70. An imaging direction of theimaging information calculation section 74 can be changed by changing afacing direction of the housing 71.

Preferably, the core unit 70 includes a triaxial (X-axis, Y-axis, andZ-axis) acceleration sensor 701. The triaxial acceleration sensor 701detects linear acceleration in three directions, i.e., the up-downdirection (the Y-axis shown in FIG. 3), the left-right direction (theX-axis shown in FIG. 3), and the front-rear direction (the Z-axis shownin FIG. 3). Alternatively, an accelerometer capable of detecting linearacceleration along at least one axis direction (e.g., Z-axis direction)may be used. As a non-limiting example, the acceleration sensor 701 maybe of the type available from Analog Devices, Inc. or STMicroelectronicsN.V. Preferably, the acceleration sensor 701 is an electrostaticcapacitance or capacitance-coupling type that is based on siliconmicro-machined MEMS (microelectromechanical systems) technology.However, any other suitable accelerometer technology (e.g.,piezoelectric type or piezoresistance type) now existing or laterdeveloped may be used to provide the acceleration sensor 701.

Accelerometers, as used in the acceleration sensor 701, are only capableof detecting acceleration along a straight line (linear acceleration)corresponding to each axis of the acceleration sensor 701. In otherwords, the direct output of the acceleration sensor 701 is limited tosignals indicative of linear acceleration (static or dynamic) along eachof the three axes thereof. As a result, the acceleration sensor 701cannot directly detect movement along a non-linear (e.g., arcuate) path,rotation, rotational movement, angular displacement, inclination,position, orientation or any other physical characteristic.

However, through processing by a computer such as a processor of thegame apparatus (e.g., the CPU 10) or a processor of the controller(e.g., the microcomputer 751) based on the acceleration signalsoutputted from the acceleration sensor 701, additional informationrelating to the core unit 70 can be inferred or calculated (determined),as one skilled in the art will readily understand from the descriptionherein.

For example, when the processing is performed by the computer on theassumption that the core unit 70 having the acceleration sensor 701mounted therein is in a static state (i.e., when the processing isperformed assuming that acceleration detected by the acceleration sensoris only the gravitational acceleration), if the core unit 70 is in factin a static state, the detected acceleration is used to determinewhether or not the core unit 70 is inclined with respect to thedirection of gravity or how many degrees the core unit 70 is inclinedwith respect to the direction of gravity. More specifically, when astate where a detection axis of the acceleration sensor 701 extends in avertically downward direction is set as a standard state, it is possibleto determine whether or not the core unit 70 is inclined with respect tothe vertically downward direction, based on whether or not 1G(gravitational acceleration) is being applied in a direction along thedetection axis of the acceleration sensor 701. It is also possible todetermine how many degrees the core unit 70 is inclined with respect tothe vertically downward direction, based on the magnitude ofacceleration applied in the direction along the detection axis. Inaddition, in the case where the acceleration sensor 701 is capable ofdetecting acceleration along multiple axis directions, it is possible todetermine in detail how many degrees the core unit 70 is inclined withrespect to the direction of gravity, through processing of accelerationsignals detected for each axis. In this case, a processor may performprocessing, based on an output from the acceleration sensor 701, forcalculating data indicating an inclination angle of the core unit 70.Alternatively, processing may be performed so as to infer a roughinclination of the core unit 70 based on the output from theacceleration sensor 701 without performing the processing forcalculating data indicating an inclination angle. In this manner, theacceleration sensor 701 can be used in combination with the processor todetermine an inclination, orientation or position of the core unit 70.

On the other hand, on the assumption that the acceleration sensor 701 isin a dynamic state, the acceleration sensor 701 detects accelerationcorresponding to a movement of the acceleration sensor 701 in additionto a gravitational acceleration component. Thus, it is possible todetermine, for example, a direction of the movement of the core unit 70by eliminating the gravitational acceleration component throughpredetermined processing. More specifically, various movements and/orpositions of the core unit 70 can be calculated through processing ofthe acceleration signals generated by the acceleration sensor 701 whenthe core unit 70 including the acceleration sensor 701 is subjected todynamic acceleration by the hand of a user. It is noted that even on theassumption that the acceleration sensor 701 is in a dynamic state, it ispossible to determine an inclination of the core unit 70 with respect tothe direction of gravity, by eliminating acceleration corresponding to amovement of the acceleration sensor 701 through predeterminedprocessing.

In another example, the acceleration sensor 701 may include an embeddedsignal processor or other type of dedicated processor for performing anydesired processing of the acceleration signals outputted from theaccelerometers therein prior to outputting signals to the microcomputer751. For example, the embedded or dedicated processor could convert thedetected acceleration signal to a corresponding inclination angle (orinto other preferred parameter) when the acceleration sensor 701 isintended to detect static acceleration (e.g., gravitationalacceleration). Data indicating the acceleration detected by theacceleration sensor 701 is outputted to the communication section 75.

In further another example, the acceleration sensor 701 may be replacedwith a gyro-sensor of any suitable technology incorporating, forexample, a rotating or vibrating element. Exemplary MEMS gyro-sensorsthat may be used in this embodiment are available from Analog Devices,Inc. Unlike the linear acceleration sensor 701, a gyro-sensor is capableof directly detecting rotation (or angular rate) around an axis definedby the gyroscopic element (or elements) therein. Thus, due to thefundamental differences between a gyro-sensor and an accelerationsensor, corresponding changes need to be made to the processingoperations that are performed on the output signals from these devicesdepending on which device is selected for a particular application.

Specifically, when a gyro-sensor is used instead of an accelerationsensor to calculate an inclination and orientation, significant changesare necessary. More specifically, when a gyro-sensor is used, the valueof inclination is initialized at the start of detection. Then, data onangular velocity which is outputted from the gyro-sensor is integrated.Next, a change amount in inclination from the value of inclinationpreviously initialized is calculated. In this case, the calculatedinclination is obtained as a value corresponding to an angle. Incontrast, when an acceleration sensor is used to calculate theinclination, the inclination is calculated by comparing the value of thegravitational acceleration of each axial component with a predeterminedreference. Therefore, the calculated inclination can be represented as avector. Thus, without initialization, an absolute direction detectedusing an accelerometer can be obtained. The type of the value calculatedas an inclination is also different between a gyro-sensor and anacceleration sensor; i.e., the value is an angle when a gyro-sensor isused and is a vector when an acceleration sensor is used. Therefore,when a gyro-sensor is used instead of an acceleration sensor, data oninclination also needs to be processed by a predetermined conversionthat takes into account the fundamental differences between these twodevices. Due to the fact that the nature of gyroscopes is known to oneskilled in the art, as well as the fundamental differences betweenaccelerometers and gyroscopes, further details are not provided herein.While gyro-sensors provide certain advantages due to their ability todirectly detect rotation, acceleration sensors are generally morecost-effective as compared with the gyro-sensors when used for thecontroller of the present embodiment.

The communication section 75 includes the microcomputer 751, a memory752, the wireless module 753, and the antenna 754. The microcomputer 751controls the wireless module 753 that wirelessly transmits transmissiondata, while using the memory 752 as a storage area during processing.The microcomputer 751 also controls operations of the sound IC 707 andthe vibrator 704 in accordance with data which the wireless module 753has received from the game apparatus body 5 via the antenna 754. Thesound IC 707 processes sound data or the like which is transmitted fromthe game apparatus body 5 via the communication section 75. Further, themicrocomputer 751 activates the vibrator 704 in accordance withvibration data or the like (e.g., a signal for causing the vibrator 704to be ON or OFF) which is transmitted from the game apparatus body 5 viathe communication section 75.

Operation signals from the operation sections 72 provided on the coreunit 70 (key data), acceleration signals from the acceleration sensor701 with respect to the three axial directions (X-, Y- and Z-axisdirection acceleration data), and the process result data from theimaging information calculation section 74, are outputted to themicrocomputer 751. Also, biological signals (biological informationdata) provided from the vital sensor 76 are outputted to themicrocomputer 751 via the connection cable 79. The microcomputer 751temporarily stores inputted data (the key data, the X-, Y- and Z-axisdirection acceleration data, the process result data, and the biologicalinformation data) in the memory 752 as transmission data to betransmitted to the wireless controller module 19. Here, wirelesstransmission from the communication section 75 to the wirelesscontroller module 19 is performed at predetermined time intervals. Sincegame processing is generally performed at a cycle of 1/60 sec, thewireless transmission needs to be performed at a shorter cycle.Specifically, game processing is performed at a cycle of 16.7 ms ( 1/60sec), and a transmission interval of the communication section 75configured using the Bluetooth (registered trademark) technology is 5ms. When a timing of performing transmission to the wireless controllermodule 19 arrives, the microcomputer 751 outputs, to the wireless module753, the transmission data stored in the memory 752 as a series ofpieces of operation information. The wireless module 753 uses, forexample, the Bluetooth (registered trademark) technology to radiate,using a carrier wave having a predetermined frequency, a radio signalfrom the antenna 754, the radio signal indicating the series of piecesof operation information. Thus, the key data from the operation sections72 provided on the core unit 70, the X-, Y- and Z-axis directionacceleration data from the acceleration sensor 701, the process resultdata from the imaging information calculation section 74, and thebiological information data from the vital sensor 76, are transmittedfrom the core unit 70. The wireless controller module 19 of the gameapparatus body 5 receives the radio signal, and the game apparatus body5 demodulates or decodes the radio signal to obtain the series of piecesof operation information (the key data, the X-, Y- and Z-axis directionacceleration data, the process result data, and the biologicalinformation data). In accordance with the series of pieces of obtainedoperation information and the game program, the CPU 10 of the gameapparatus body 5 performs game processing. In the case where thecommunication section 75 is configured using the Bluetooth (registeredtrademark) technology, the communication section 75 can have a functionof receiving transmission data wirelessly transmitted from otherdevices.

Next, with reference to FIGS. 8 and 9, the vital sensor 76 will bedescribed. Note that FIG. 8 is a block diagram showing an example of aconfiguration of the vital sensor 76. FIG. 9 is a diagram showing pulsewave information which is an example of biological information outputtedfrom the vital sensor 76.

In FIG. 8, the vital sensor 76 includes a control unit 761, a lightsource 762, and a photodetector 763.

The light source 762 and the photodetector 763 constitutes atransmission-type digital-plethysmography sensor, which is an example ofa sensor which obtains a biological signal of the user. The light source762 includes, for example, an infrared LED which emits infrared lighthaving a predetermined wavelength (e.g., 940 nm) toward thephotodetector 763. On the other hand, the photodetector 763, whichincludes, for example, an infrared photoregister, senses light emittedby the light source 762, depending on the wavelength of the emittedlight. The light source 762 and the photodetector 763 are arranged,facing each other, with a predetermined gap (hollow space) beinginterposed therebetween.

Here, hemoglobin which exists in human blood absorbs infrared light. Forexample, a portion (e.g., a fingertip) of the body of the user isinserted in the gap between the light source 762 and the photodetector763. In this case, infrared light emitted from the light source 762 ispartially absorbed by hemoglobin existing in the inserted fingertipbefore being sensed by the photodetector 763. Arteries in the human bodypulsate, and therefore, the thickness (blood flow rate) of the arteryvaries depending on the pulsation. Therefore, similar pulsation occursin arteries in the inserted fingertip, and the blood flow rate variesdepending on the pulsation, so that the amount of infrared lightabsorption also varies depending on the blood flow rate. Specifically,as the blood flow rate in the inserted fingertip increases, the amountof light absorbed by hemoglobin also increases and therefore the amountof infrared light sensed by the photodetector 763 relatively decreases.Conversely, as the blood flow rate in the inserted fingertip decreases,the amount of light absorbed by hemoglobin also decreases and thereforethe amount of infrared light sensed by the photodetector 763 relativelyincreases. The light source 762 and the photodetector 763 utilize suchan operating principle, i.e., converts the amount of infrared lightsensed by the photodetector 763 into a photoelectric signal to detectpulsation (hereinafter referred to as a pulse wave) of the human body.For example, as shown in FIG. 9, when the blood flow rate in theinserted fingertip increases, the detected value of the photodetector763 increases, and when the blood flow rate in the inserted fingertipdecreases, the detected value of the photodetector 763 decreases. Thus,a pulse wave portion in which the detected value of the photodetector763 rises and falls is generated as a pulse wave signal. Note that, insome circuit configuration of the photodetector 763, a pulse wave signalmay be generated in which, when the blood flow rate in the insertedfingertip increases, the detected value of the photodetector 763decreases, and when the blood flow rate in the inserted fingertipdecreases, the detected value of the photodetector 763 increases.

The control unit 761 includes, for example, a MicroController Unit(MCU). The control unit 761 controls the amount of infrared lightemitted from the light source 762. The control unit 761 also performsA/D conversion with respect to a photoelectric signal (pulse wavesignal) outputted from the photodetector 763 to generate pulse wave data(biological information data). Thereafter, the control unit 761 outputsthe pulse wave data (biological information data) via the connectioncable 79 to the core unit 70.

Next, an overview of a process performed by the game apparatus body 5will be described with reference to FIGS. 10 to 18 before a specificdescription thereof will be given. Note that FIGS. 10 to 18 are diagramsshowing a series of images displayed on the monitor 2.

In FIG. 10, the monitor 2 displays a current biological state of theuser who is using the vital sensor 76. For example, in FIG. 10, anactivity level of the parasympathetic nervous system of the user, whichis a representative level of the autonomic nervous system, is displayedas an amount of relax fluid. The amount of relax fluid is calculatedbased on a heart rate variance coefficient (coefficient of variance ofR-R interval (CVRR)) of the user. For example, the heart rate variancecoefficient is calculated using cardiac cycles (R-R intervals; see FIG.9) over past 100 pulses indicated by a pulse wave obtained from thevital sensor 76. Specifically, the heart rate variance coefficient iscalculated by:

heart rate variance coefficient=(the standard deviation of the R-Rintervals of 100 pulses/the average of the R-R intervals of 100pulses)×100

By changing the amount (e.g., a surface level) of the relax fluid,depending on the calculated heart rate variance coefficient, the currentbiological information is presented to the user.

Next, in FIG. 11, the monitor 2 displays a standard value of the relaxfluid amount for the same age as that of the user for comparison withthe current relax fluid amount of the user. Here, the relax fluid amountdecreases as the parasympathetic nervous system of the user isactivated. Specifically, if the relax fluid amount is lower in theabsence of exercise load to the user, it is considered that the user'sautonomic nervous system is not balanced. However, since the relax fluidamount tends to decrease with age, the standard relax fluid amount ofthe same age is displayed along with the current relax fluid amount soas to enable the user to easily evaluate the relative activity level oftheir parasympathetic nervous system.

Next, in FIG. 12, the monitor 2 presents a game for improving adisplayed biological state of the user. For example, a stretch gamewhich increases the flexibility of the user is a means of instantlyincreasing the relax fluid amount, and therefore, is displayed as anoption to the user on the monitor 2. When the user selects and decidesexecution of the presented stretch game, the screen of the monitor 2transitions to the stretch game.

After transition to the stretch game, the monitor 2 displaysexplanations of an operation attitude or an operation method which theuser should perform when playing the game. For example, in the exampleof FIG. 13, an attitude that the vital sensor 76 is attached to a fingerand the core unit 70 is sandwiched between both hands with both elbowssticking out leftward and rightward in a longitudinal direction of thecore unit 70, is displayed as an operation attitude which the usershould take in the stretch game. The monitor 2 also displays anoperation method, i.e., “Please incline the core unit 70 to match itsinclination angle to the slope of the ground, assuming the screen is amirror.” The monitor 2 also displays an operation method, i.e., “Pleasebreathe in synchronization with rising and falling of the ceiling.”Thus, the user can find out an operation attitude and an operationmethod, such as those shown in FIG. 13, by viewing those displayed onthe screen.

As shown in FIG. 14, in the stretch game, for example, a game isperformed in which a player character PC moves or behaves based on abiological signal (pulse wave signal) of the user and a motion or anattitude (an inclination of the core unit 70) of the user. The user hasto cause the player character PC to fly in a space (e.g., a cave)between a ceiling T and a ground B which are, for example, scrolled fromthe left to the right in the virtual game world. In this case, theceiling T and the ground B are obstacles in the way of the playercharacter PC flying in the space. The player character PC includes afirst player character PC1, and a second player character PC2 providedon the first player character PC1, which are separable.

In FIG. 15, the second player character PC2 can be moved up, where amaximum height of the second player character PC2 is limited to a heightof the ceiling T (the height is measured with reference to the firstplayer character PC1). Here, the second player character PC2 is moved upand down, depending on a respiratory state of the user. For example, thesecond player character PC2 is moved up with respect to the first playercharacter PC1 when the user breathes out air or exhales, and is moveddown toward the first player character PC1 when the user breathes in airor inhales. In this embodiment, a heart rate HR of the user iscalculated using the pulse wave signal, and if the heart rate HR isincreasing, it is determined that the user is inhaling, and if the heartrate HR is decreasing, it is determined that the user exhaling. Theheart rate HR is represented by the number of heart beats per 60seconds. In this embodiment, the heart rate HR is calculated by dividing60 seconds by a cardiac cycle (R-R interval; e.g., the time from oneminimum value of a pulse wave to the next minimum value; see FIG. 9).

Rising and falling of the ceiling T are calculated based on a frequencyof respiration of the user. For example, in this embodiment, a currentfrequency of respiration of the user is calculated based on a frequencyat which the heart rate HR of the user rises and falls. The frequency ofrising and falling of the ceiling T is adjusted so that the respirationfrequency is slowed to a predetermined fraction thereof (e.g., 80%). Ifthe second player character PC2 contacts the ceiling T, the score of thestretch game is reduced. Specifically, the user has to breathe in amanner which reduces their respiration frequency to 80%, i.e., graduallyreduces their respiration frequency, while moving the second playercharacter PC2 up and down in synchronization with rising and falling ofthe ceiling T.

Referring to FIG. 16, the player character PC can fly obliquely alongthe ground B. Here, the player character PC inclines its flyingattitude, depending on the inclination of the core unit 70. For example,when the user in an operation attitude as shown in FIG. 13 inclines thecore unit 70 to the right (as the user faces the monitor 2) at an angleof al, the displayed player character PC is also inclined to the rightat an angle of al in synchronization with the act of inclining. Also,referring to FIG. 17, when the user in an operation attitude as shown inFIG. 13 inclines the core unit 70 to the right (as the user faces themonitor 2) at an angle of α2, the displayed player character PC is alsoinclined to the right at an angle of α2 in synchronization with the actof inclining. In other words, the user feels like they incline theplayer character PC by inclining the core unit 70.

In FIG. 17, when the slope (angle) of the ground B increases with time,then if the player character PC contacts the ground B, the score of thestretch game is reduced. The user has to incline the core unit 70 at anangle similar to the slope of the ground B so as to incline the playercharacter PC to match the inclination angle to the slope of the groundB. In other words, the user has to do stretching movements, such asbending or twisting a portion of their body at which the core unit 70 isheld or attached. The slope of the ground B is fixed to an inclinationangle as it is when the user has difficulty in further inclining thecore unit 70. For example, in this embodiment, a pulse wave amplitude PA(e.g., a difference between one minimum value of a pulse wave and thenext minimum value; see FIG. 9) obtained from the pulse wave signal isused to determine a level of difficulty or easiness of the user, and acolor or countenance of the player character PC is changed, depending onthe difficulty or easiness level.

In the example of FIG. 16, the ground B is displayed which is inclinedto the right at an inclination angle of 5°. If the user inclines thecore unit 70 to the right (as the user faces the monitor 2) at an angleof al (e.g., 5°) to match the inclination angle to the slope of theground B, the displayed player character PC is also inclined to theright at an angle of al (e.g., 5°) in synchronization with the act ofinclining. In this case, since it is still easy for the user to do so,the displayed player character PC has calm countenance. On the otherhand, in the example of FIG. 17 the displayed ground B is inclined tothe right at an inclination angle of 42°, and if the user inclines thecore unit 70 to the right (as the user faces the monitor 2) at an angleof α2 (e.g., 42°) to match the inclination angle to the slope of theground B, the displayed player character PC is also inclined to theright at an angle of α2 (e.g., 42°) in synchronization with the act ofinclining. In this case, the user has much difficulty, so that thedisplayed player character PC has unpleasant or painful countenance.

For example, a user's condition that their pulse wave amplitude PA is90% or more as compared to that at the start of the stretch game, isdetermined as “the user does not have difficulty.” A user's conditionthat their pulse wave amplitude PA is reduced to 50% to 90% as comparedto that at the start of the stretch game, is determined as “the user hasdifficulty.” Moreover, a user's condition that their pulse waveamplitude PA is reduced to 50% or less as compared to that at the startof the stretch game, is determined as “the user has much difficulty.” Auser's condition as it is when the pulse wave amplitude PA reaches 50%or less is determined as a limit for the user, and the inclination angleat this time (limit inclination angle) is considered as a measure forcalculating the pliancy of the user's body.

After the stretch game is ended, a current relax fluid amount of theuser is calculated again. Thereafter, referring to FIG. 18, the monitor2 displays a relax fluid amount before the stretch game (denoted as “5min before” in FIG. 18) in addition to the current relax fluid amount(user's relax fluid amount after the stretch game). Moreover, anincrease or a decrease in relax fluid amount after the stretch game isdisplayed as a numerical value. For example, in this embodiment, a heartrate variance coefficient before the stretch game of the user iscompared with a heart rate variance coefficient after the stretch game,and a value obtained by multiplying a difference therebetween by 10 isdisplayed as an increase or a decrease in volume (ml).

Moreover, a value indicating the pliancy of the user's body may bedisplayed after the end of the stretch game. For example, the limitinclination angle is used to display the user's pliancy (pliancy score).Specifically, the user's limit inclination angle is compared with anideal inclination angle in the stretch game, and the user's pliancy(pliancy score) is calculated and displayed based on a differencetherebetween.

Next, game processing performed in the game system 1 will be describedin detail. Firstly, referring to FIG. 19, main data used in gameprocessing will be described. Note that FIG. 19 is a diagram showing anexample of main data and programs stored in the external main memory 12and/or the internal main memory 35 (hereinafter the two main memories iscollectively referred to as a main memory) of the game apparatus body 5.

As shown in FIG. 19, a data storing area of the main memory storesacceleration data Da, key data Db, pulse wave data Dc, accelerationvector data Dd, relax fluid amount data De, standard value data Df,initial relax fluid amount data Dg, controller inclination data Dh,heart rate data Di, pulse wave amplitude data Dj, initial pulse waveamplitude data Dk, score data D1, fluctuation frequency data Dm,rising/falling frequency data Dn, ground angle data Do, limit groundangle data Dp, player character data Dq, image data Dr, and the like.Note that the main memory stores, in addition to data included in theinformation of FIG. 19, data required for game processing, such as data(position data, etc.) relating to objects and the like appearing in thegame other than the player character PC, data (background data, etc.)relating to the virtual game world, and the like. Moreover, a programstoring area of the main memory stores various programs Pa included in agame program.

The acceleration data Da indicates an acceleration of the core unit 70.Acceleration data included in a series of pieces of operationinformation which are transmitted as transmission data from the coreunit 70 is stored as the acceleration data Da into the main memory. Theacceleration data Da includes X-axis direction acceleration data Da1indicating an acceleration which is detected with respect to an X-axiscomponent by the acceleration sensor 701, Y-axis direction accelerationdata Da2 indicating an acceleration which is detected with respect to aY-axis component, and Z-axis direction acceleration data Da3 indicatingan acceleration which is detected with respect to a Z-axis component.Note that the wireless controller module 19 included in the gameapparatus body 5 receives acceleration data included in operationinformation transmitted in predetermined cycles (e.g., 1/200 sec) fromthe core unit 70, and stores the acceleration data into a buffer (notshown) included in the wireless controller module 19. Thereafter,acceleration data stored in the buffer is read out on a frame-by-framebasis (one frame corresponds to a game processing cycle (e.g., 1/60sec)), and the acceleration data Da in the main memory is updated withthe acceleration data.

In this case, the cycle of reception of operation information isdifferent from the processing cycle, and therefore, a plurality ofpieces of operation information received at a plurality of timings arestored in the buffer. In a description below of the process, it isassumed that only the latest one of a plurality of pieces of operationinformation received at a plurality of timings is invariably used toperform processing in each step described below before control proceedsto the next step.

Although it is assumed in a process flow described below that theacceleration data Da is updated on a frame-by-frame basis (one framecorresponds to the game processing cycle), the acceleration data Da maybe updated in other process cycles. For example, the acceleration dataDa may be updated in transmission cycles of the core unit 70, and theacceleration data Da thus updated may be used in game processing cycles.In this case, the cycle in which the acceleration data Da1 to Da3 arestored as the acceleration data Da is different from the game processingcycle.

The key data Db indicates that the operation sections 72 of the coreunit 70 each have been operated. Key data included in a series of piecesof operation information which are transmitted as transmission data fromthe core unit 70 is stored as the key data Da into the main memory. Notethat a method of updating the key data Db is similar to that of theacceleration data Da and will not be described in detail.

The pulse wave data Dc indicates a pulse wave signal having a requiredtime length obtained from the vital sensor 76. Pulse wave data includedin a series of pieces of operation information which are transmitted astransmission data from the core unit 70 is stored as the pulse wave dataDc into the main memory. Note that a history of a pulse wave signalhaving a time length required in a process described below is stored asthe pulse wave data Dc into the main memory, and is updated asappropriate in response to reception of operation information.

The acceleration vector data Dd indicates an acceleration vector whichis calculated using an acceleration indicated by the X-axis directionacceleration data Da1, the Y-axis direction acceleration data Da2, andthe Z-axis direction acceleration data Da3. Data indicating a directionand a magnitude of an acceleration applied to the core unit 70 is storedas the acceleration vector data Dd in the main memory.

The relax fluid amount data De indicates a relax fluid amount which iscalculated using a current heart rate variance coefficient of the user.The standard value data Df indicates a standard value of a relax fluidamount for each age which is previously statistically calculated. Theinitial relax fluid amount data Dg indicates a relax fluid amount of theuser which is calculated before the start of the stretch game.

The controller inclination data Dh indicates an inclination of the coreunit 70 with respect to a direction of gravity. The heart rate data Diindicates a history of heart rates HR (e.g., a value obtained bydividing 60 sec by a cardiac cycle (R-R interval)) over a predeterminedperiod of time of the user. The pulse wave amplitude data Dj indicates ahistory of pulse wave amplitudes PA over a predetermined period of timeof the user. The initial pulse wave amplitude data Dk indicates a pulsewave amplitude PA of the user before the start of the stretch game.

The score data D1 indicates a score in the stretch game. The fluctuationfrequency data Dm indicates a respiration frequency of the user. Therising/falling frequency data Dn indicates a frequency of rising andfalling of the ceiling T in the stretch game which is calculated,depending on the respiration frequency of the user. The ground angledata Do indicates an inclination angle of the ground B in the stretchgame. The limit ground angle data Dp indicates a limit inclination angleof the ground B for the user in the stretch game.

The player character data Dq relates to the player character PC,including inclination data Dq1, flying height data Dq2, situation dataDq3, and position data Dq4. The inclination data Dq1 indicates aninclination angle of the player character PC which is inclined,depending on an inclination of the core unit 70. The flying height dataDq2 indicates a height to which the second player character PC2 is movedup with respect to the first player character PC1. The situation dataDq3 indicates a color or countenance of the player character PCcorresponding to a difficulty or easiness level of the user. Theposition data Dq4 indicates a position in the virtual game world of theplayer character PC.

The image data Dr includes biological image data Dr1, player characterimage data Dr2, obstacle image data Dr3, and the like. The biologicalimage data Dr1 is used to display biological information of the user onthe monitor 2. The player character image data Dr2 is used to generate agame image of the virtual game world in which the player character PC isarranged. The obstacle image data Dr3 is used to generate a game imageof the virtual game world in which an obstacle (the ceiling T and theground B) is arranged.

Next, information processing performed in the game apparatus body 5 willbe described in detail with reference to FIGS. 20 to 22. Note that FIG.20 is a flowchart showing an example of information processing performedin the game apparatus body 5. FIG. 21 is a flowchart showing an exampleof an operation in the first half of a stretch game process in step 48of FIG. 20. FIG. 22 is a flowchart showing an example of an operation inthe second-half of the stretch game process in step 48 of FIG. 20. Notethat, in the flowcharts of FIGS. 20 to 22, of the game processing,processes employing biological information from the vital sensor 76 andan inclination of the core unit 70 will be mainly described, and othergame processes which do not directly relate to the present inventionwill not be described in detail. In FIGS. 20 to 22, each step executedby the CPU 10 is abbreviated to “S”.

When the game apparatus body 5 is powered on, the CPU 10 of the gameapparatus body 5 executes a boot program stored in the ROM/RTC 13,thereby initializing each unit, such as the main memory or the like.Thereafter, a game program stored on the optical disc 4 is read into themain memory, and execution of the game program is started by the CPU 10.The flowcharts of FIGS. 20 to 22 indicate game processing which isperformed after completion of the aforementioned process.

In FIG. 20, the CPU 10 initializes settings for information processing(step 41), and then goes to the next step. For example, in theinitialization of settings in step 41, the age of the user, processresults until a current time, and the like are initially set. Also, inthe initialization of settings in step 41, parameters used in subsequentinformation processing are each initialized.

Next, the CPU 10 acquires data indicating operation information from thecore unit 70 (step 42), and goes to the next step. For example, the CPU10 acquires operation information received from the core unit 70, andupdates the acceleration data Da using an acceleration indicated by thelatest acceleration data contained in the operation information.Specifically, the CPU 10 updates the X-axis direction acceleration dataDa1 using an acceleration indicated by X-axis direction accelerationdata contained in the latest operation information received by the coreunit 70. The CPU 10 also updates the Y-axis direction acceleration dataDa2 using an acceleration indicated by Y-axis direction accelerationdata contained in the latest operation information. The CPU 10 alsoupdates the Z-axis direction acceleration data Da3 using an accelerationindicated by Z-axis direction acceleration data contained in the latestoperation information. The CPU 10 also updates the key data Db using anoperation performed with respect to the operation sections 72, which isindicated by the latest key data contained in the operation informationreceived from the core unit 70. The CPU 10 also updates the pulse wavedata Dc using a pulse wave signal indicated by the latest biologicalinformation data contained in the operation information received fromthe core unit 70.

Next, the CPU 10 calculates a user's relax fluid amount (step 43), andgoes to the next step. For example, the CPU 10 calculates a relax fluidamount based on a user's heart rate variance coefficient. Here, theheart rate variance coefficient is calculated using cardiac cycles (R-Rintervals; see FIG. 9) over past 100 pulses indicated by a pulse wavesignal stored in the pulse wave data Dc. Specifically, the heart ratevariance coefficient is calculated by:

heart rate variance coefficient=(the standard deviation of the R-Rintervals of 100 pulses/the average of the R-R intervals of 100pulses)×100

Thereafter, the CPU 10 calculates a relax fluid amount based on thecalculated user's heart rate variance coefficient (e.g., a valueobtained by multiplying the heart rate variance coefficient by 10 isconsidered as a relax fluid amount), and updates the relax fluid amountdata De using the calculated relax fluid amount.

Next, the CPU 10 generates an image representing biological informationin which a current user's relax fluid amount is indicated by a fluidlevel, and displays the image on the monitor 2 (step 44; see FIG. 10).Thereafter, the CPU 10 determines whether or not to compare the currentuser's relax fluid amount with a standard amount (step 45). For example,when an operation indicting a command to perform comparison with thestandard amount has been performed or when a predetermined period oftime has elapsed since displaying of the current user's relax fluidamount on the monitor 2, the CPU 10 decides to compare the currentuser's relax fluid amount with the standard amount. The CPU 10, whendeciding to compare the current user's relax fluid amount with thestandard amount, goes to the next step 46. On the other hand, the CPU10, when not deciding to compare the current user's relax fluid amountwith the standard amount, goes to the next step 47.

In step 46, the CPU 10 generates an image which shows the current user'srelax fluid amount and the standard amount for comparison, displays theimage on the monitor 2 (see FIG. 11), and goes to the next step 47. Forexample, the CPU 10 acquires a standard value of a relax fluid amountcorresponding to the age of the user by referring to the standard valuedata Df, generates an image showing biological information indicatingthe standard value as a fluid level, and displays the image on themonitor 2. Here, the standard value may be acquired from the standardvalue data Df based on the user's age set in step 41, or alternatively,may be acquired from the standard value data Df by the user inputtingtheir age in step 46. Note that, in step 46, a standard value of a relaxfluid amount corresponding to the same age as that of the user isacquired, or alternatively, a different standard value may be acquired.For example, a standard value having the same level as that of thecurrent user's relax fluid amount may be acquired. In this case, astandard value of a relax fluid amount corresponding to an age differentfrom the user's age is acquired. However, the user can find out of whatage their relax fluid amount corresponds to the level of the standardvalue.

In step 47, the CPU 10 determines whether or not to go to the stretchgame. For example, the CPU 10 presents an option which indicates a gamefor increasing the user's relax fluid displayed on the monitor 2 (seeFIG. 12), and determines whether or not to go to the stretch game,depending on whether or not an operation of selecting the stretch gamefrom the option has been performed. Thereafter, the CPU 10, when goingto the stretch game, goes to the next step 48. On the other hand, theCPU 10, when not going to the stretch game, goes to the next step 53.

In step 48, the CPU 10 performs a stretch game process, and goes to thenext step. Hereinafter, the stretch game process performed in step 48will be described with reference to FIGS. 21 and 22.

In FIG. 21, the CPU 10 initializes settings for the stretch game process(step 81), and goes to the next step. For example, in the initializationof settings in step 81, settings for the virtual game world, the playercharacter PC, the ceiling T, the ground B and the like are initialized.Also, in the initialization of settings in step 81, parameters used insubsequent stretch game processes are initialized. For example, the CPU10 initially sets a score corresponding to a perfect score (e.g., 100points) into the score data D1.

Next, the CPU 10 acquires data indicating operation information from thecore unit 70 (step 82), and goes to the next step. Note that the processin step 82 is similar to that in step 42 and will not be described indetail.

Next, the CPU 10 calculates the pulse wave amplitude PA and the relaxfluid amount before the start of the stretch game of the user, andupdates the initial pulse wave amplitude data Dk and the initial relaxfluid amount data Dg using the respective calculated values (step 83),and goes to the next step. For example, the CPU 10 refers to a pulsewave signal of the pulse wave data Dc, and calculates a current pulsewave amplitude PA (see FIG. 9) obtained from the pulse wave signal, asan initial pulse wave amplitude PAi. Thereafter, the CPU 10 updates theinitial pulse wave amplitude data Dk using the calculated initial pulsewave amplitude PAi. The CPU 10 also refers to a pulse wave signal of thepulse wave data Dc, and calculates a current relax fluid amount based ona heart rate variance coefficient obtained from the pulse wave signal.Thereafter, the CPU 10 updates the initial relax fluid amount data Dgusing the calculated relax fluid amount.

Next, the CPU 10 acquires data indicating operation information from thecore unit 70 (step 84), and goes to the next step. Note that the processin step 84 is similar to that in step 42 and will not be described indetail.

Next, the CPU 10 calculates an inclination of the core unit 70 withrespect to a direction of gravity (step 85), and goes to the next step.For example, the CPU 10 uses an X-axis direction acceleration stored inthe X-axis direction acceleration data Da1, a Y-axis directionacceleration stored in the Y-axis direction acceleration data Da2, and aZ-axis direction acceleration stored in the Z-axis directionacceleration data Da3, to calculate an acceleration vector having theacceleration components in the respective directions, and updates theacceleration vector data Dd using the acceleration vector. The CPU 10also assumes that a direction indicated by the acceleration vector inthe acceleration vector data Dd is a direction of a gravitationalacceleration acting on the core unit 70. The CPU 10 calculates aninclination of the core unit 70 (an inclination of the controller) withrespect to the direction indicated by the acceleration vector, andupdates the controller inclination data Dh using the calculatedinclination of the core unit 70. Specifically, when the user in anoperation attitude as shown in FIG. 13 operates the core unit 70, i.e.,when it is assumed that the core unit 70 is operated in a manner whichinclines the Z-axis of the core unit 70 around an X-axis direction, aninclination of the Z-axis of the core unit 70 with respect to adirection of the gravitational acceleration is calculated as theinclination of the core unit 70 (the inclination of the controller).

Next, the CPU 10 inclines the player character PC with respect to thevirtual game world, depending on the inclination of the core unit 70,displays the inclined player character PC on the monitor 2 (step 86),and goes to the next step. For example, when it is assumed that the coreunit 70 is operated in a manner which inclines the Z-axis of the coreunit 70 around the X-axis direction of the core unit 70, then if theuser inclines the core unit 70 so that its Z-axis is inclined to theright (as the user faces the monitor 2) at an angle of a, the CPU 10calculates an inclination angle which inclines the player character PCto the right (as the user faces the monitor 2) at an angle of a in thevirtual game world in synchronization with the act of inclining, andupdates the inclination data Dq1 using the calculated inclination angle.Thereafter, the CPU 10 inclines the player character PC in the virtualgame world, depending on the inclination angle indicated by theinclination data Dq1, and displays the inclined player character PC onthe monitor 2 (see FIGS. 16 and 17).

Next, the CPU 10 calculates a heart rate HR of the user, updates ahistory of the heart rate data Di using the calculated heart rate HR(step 87), and goes to the next step. For example, the CPU 10 refers toa pulse wave signal of the pulse wave data Dc, and calculates a currentcardiac cycle (R-R interval; see FIG. 9). Thereafter, the CPU 10calculates a heart rate HR by dividing 60 sec by the cardiac cycle, andupdates the history of heart rates HR by adding data indicating thenewly calculated heart rate HR to the heart rate data Di. Note that, aswill be seen from a description below, if the history of heart rates HRis stored in an amount corresponding to a predetermined period of time,a process can be performed, and therefore, when a new heart rate HR isadded, a past heart rate HR exceeding the time period may be erased.

Next, the CPU 10 calculates a pulse wave amplitude PA of the user,updates a history of the pulse wave amplitude data Dj using thecalculated pulse wave amplitude PA (step 88), and goes to the next step.For example, the CPU 10 refers to a pulse wave signal of the pulse wavedata Dc, and calculates a current pulse wave amplitude PA (see FIG. 9)obtained from the pulse wave signal. Thereafter, the CPU 10 adds dataindicating the newly calculated pulse wave amplitude PA to the pulsewave amplitude data Dj to update the history of pulse wave amplitudesPA. Note that, as will be seen from a description below, if the historyof pulse wave amplitudes PA is stored in an amount corresponding to apredetermined period of time, a process can be performed, and therefore,when a new pulse wave amplitude PA is added, a past pulse wave amplitudePA exceeding the time period may be erased.

Next, the CPU 10 determines whether or not the heart rate HR calculatedin step 87 is smaller than the previously calculated heart rate HRb(step 89), and determines whether or not the heart rate HR calculated instep 87 is larger than the previously calculated heart rate HRb (step91). Thereafter, the CPU 10, when the heart rate HR calculated in step87 is smaller than the previously calculated heart rate HRb (Yes in step89), goes to the next step 90. Also, the CPU 10, when the heart rate HRcalculated in step 87 is larger than the previously calculated heartrate HRb (Yes in step 91), goes to the next step 92. On the other hand,the CPU 10, when the heart rate HR calculated in step 87 is the same asthe previously calculated heart rate HRb (No in both steps 89 and 91),goes to the next step 101 (see FIG. 22).

In step 90, the CPU 10 moves up the second player character PC2 withrespect to the first player character PC1 by a predetermined amount inthe virtual game world, displays the second player character PC2 thusmoved up on the monitor 2, and goes to the next step 101 (see FIG. 22).For example, the CPU 10 calculates a flying height of the second playercharacter PC2 which is obtained by increasing the distance between thefirst player character PC1 and the second player character PC2 in thevirtual game world by a predetermined length, and updates the flyingheight data Dq2 using the flying height. Thereafter, the CPU 10 moves upthe second player character PC2 with respect to the first playercharacter PC1 in the virtual game world so that they are separated bythe flying height indicated by the flying height data Dq2, and displaysthe second player character PC2 thus moved up on the monitor 2 (see FIG.15). Note that the distance between the first player character PC1 andthe second player character PC2 which are separated in step 90 may beincreased by a constant amount, or an amount which varies depending on adifference between the heart rate HRb and the heart rate HR.

On the other hand, in step 91, the CPU 10 moves down the second playercharacter PC2 with respect to the first player character PC1 by apredetermined amount in the virtual game world, displays the secondplayer character PC2 thus moved down on the monitor 2, and goes to thenext step 101 (see FIG. 22). For example, the CPU 10 calculates a flyingheight of the second player character PC2 which is obtained bydecreasing the distance between the first player character PC1 and thesecond player character PC2 in the virtual game world by a predeterminedlength, and updates the flying height data Dq2 using the flying height.Thereafter, the CPU 10 moves up the second player character PC2 withrespect to the first player character PC1 so that they are separated bythe flying height indicated by the flying height data Dq2 in the virtualgame world, and displays the second player character PC2 thus moved upon the monitor 2. Note that an amount by which the second playercharacter PC2 is moved down with respect to the first player characterPC1 in the virtual game world, is decided to a value which prevents thesecond player character PC2 from overlapping the first player characterPC1. In other words, the second player character PC2 is not moved downto a position which causes the second player character PC2 to overlapthe first player character PC1 in the virtual game world. Note that thedistance between the first player character PC1 and the second playercharacter PC2 which is reduced in step 91 may be decreased by apredetermined amount, or an amount which varies depending on adifference between the heart rate HRb and the heart rate HR.

Referring to FIG. 22, in step 101, the CPU 10 determines whether or notthe player character PC contacts the ceiling T or the ground B in thevirtual game world. For example, when the player character PC is flying,then if the first player character PC1 contacts the ground B or thesecond player character PC2 contacts the ceiling T, the CPU 10determines that the player character PC contacts the ceiling T or theground B. Thereafter, the CPU 10, when the player character PC contactsthe ceiling T or the ground B, goes to the next step 102. On the otherhand, if the player character PC contacts neither of the ceiling T andthe ground B, the CPU 10 goes to the next step 103.

In step 102, the CPU 10 reduces the score of the stretch game by apredetermined number of points, and goes to the next step 103. Forexample, the CPU 10 subtracts a point or points corresponding to acontact with the ceiling T or the ground B from the score indicated bythe score data D1, and updates the score data D1 using the resultantscore. Here, the number of subtracted points may be changed, dependingon a situation that the player character PC contacts the ceiling T orthe ground B. As a first example, the number of subtracted points isincreased with a period of time during which the player character PCcontacts the ceiling T or the ground B. As a second example, the numberof subtracted points is increased with an area on which the playercharacter PC overlaps the ceiling T or the ground B. As a third example,the number of subtracted points is increased with the number of times atwhich the player character PC contacts the ceiling T or the ground B. Asa fourth example, the number of subtracted points is changed, dependingon which of the ceiling T and the ground B the player character PCcontacts. As a fifth example, the number of subtracted points is changedin accordance with a combination of at least two of the first to fourthexamples.

Note that, in the aforementioned process, when the player character PCcontacts or overlaps the ceiling T or the ground B, the score of thestretch game is reduced to degrade the assessment. Therefore, the lowerthe score of the stretch game, the poorer the assessment. Alternatively,the score may be changed in other fashions. As a first example, thescore of the stretch game at the start is set to 0 points, and when theplayer character PC contacts or overlaps the ceiling T or the ground B,the score of the stretch game is increased to degrade the assessment. Inthis case, the higher the score of the stretch game, the poorer theassessment. As a second example, the score of the stretch game at thestart is set to 0, and is incremented with time in the stretch game, andwhen the player character PC contacts or overlaps the ceiling T or theground B in the stretch game, the increment is canceled to degrade theassessment. In this case, the lower the score of the stretch game, thepoorer the assessment.

In step 103, the CPU 10 uses a history of heart rates HR to calculate afrequency (fluctuation frequency) at which the heart rate HR rises andfalls, and goes to the next step. For example, the CPU 10 acquires ahistory of user's heart rates HR until a current time by referring tothe heart rate data Di. Thereafter, the CPU 10 calculates thefluctuation frequency of heart rates HR from the history of heart ratesHR, and updates the fluctuation frequency data Dm using the calculatedfluctuation frequency. Here, if the heart rate HR calculated in thisembodiment is increasing, it is determined that the user is inhaling,and if the heart rate HR is decreasing, it is determined that the useris exhaling. In other words, the fluctuation frequency corresponds to afrequency (respiration frequency) at which the user breathes.

Next, the CPU 10 uses the fluctuation frequency calculated in step 103to calculate a frequency (rising/falling frequency) at which the ceilingT is caused to rise and fall (step 104), and goes to the next step. Forexample, the CPU 10 calculates a frequency obtained by slowing afluctuation frequency indicated by the fluctuation frequency data Dm toa predetermined fraction thereof (e.g., 80% of the fluctuationfrequency) as the rising/falling frequency, and updates therising/falling frequency data Dn using the calculated rising/fallingfrequency.

Next, the CPU 10 calculates an average value PAa of pulse waveamplitudes PA over a predetermined number of pulses (step 105).Thereafter, the CPU 10 determines whether or not the calculated averagevalue PAa is 90% or less of the initial pulse wave amplitude PAi (step106). When PAa≦0.9PAi, the CPU 10 goes to the next step 107. On theother hand, when 0.9PAi<PAa, the CPU 10 goes to the next step 110.

In step 107, the CPU 10 sets a color or countenance of the playercharacter PC displayed in the virtual game world, which represents alevel of difficulty, as the situation data Dq3, displays the playercharacter PC in a state corresponding to the difficulty level on themonitor 2, and goes to the next step. Here, step 107 is executed in astate that the pulse wave amplitude PA of the user is reduced to 90% orless of that at the start of the stretch game, i.e., it can bedetermined that “the user has difficulty.” In the stretch game, when itcan be determined that the user has difficulty, the CPU 10 changes thecolor or countenance of the player character PC, depending on the levelof difficulty or easiness of the user (see FIG. 17).

In step 108, the CPU 10 determines whether or not the calculated averagevalue PAa is 50% or less of the initial pulse wave amplitude PAi. WhenPAa>0.5PAi, the CPU 10 goes to the next step 110. When PAa≦0.5PAi, theCPU 10 goes to the next step 109.

In step 109, the CPU 10 records the current inclination angle of theground B as a limit inclination angle, and goes to the next step 111.Here, step 109 is executed is in a state in which the pulse waveamplitude PA of the user is 50% or less of that at the start of thestretch game, i.e., it can be determined that “the user has muchdifficulty.” In the stretch game, when it can be determined that theuser has much difficulty, the CPU 10 determines that the currentinclination angle of the ground B is a limit for the user, and updatesthe limit ground angle data Dp using the inclination angle.

On the other hand, in step 110, the CPU 10 increases the inclinationangle of the ground B by a predetermined angle, and goes to the nextstep 111. For example, the CPU 10 adds a predetermined angle to aninclination angle indicated by the ground angle data Do to calculate anew inclination angle, and updates the ground angle data Do using thecalculated inclination angle.

In step 111, the CPU 10 generates the ceiling T and the ground B(obstacle images) based on a rising/falling frequency indicated by therising/falling frequency data Dn and an inclination angle indicated bythe ground angle data Do, displays the ceiling T and the ground B on themonitor 2, and goes to the next step. For example, the CPU 10 displaysthe ceiling T which is scrolled while adjusting a shape of the ceiling Tso that the ceiling T rises and falls at a rising/falling frequencyindicated by the rising/falling frequency data Dn, when the playercharacter PC flies in the virtual game world. The CPU 10 also displayson the monitor 2 the ground B which is inclined at an inclination angleindicated by the ground angle data Do in the virtual game world.

Next, the CPU 10 determines whether or not to end the stretch game (step112). For example, the stretch game is ended under conditions thatconditions under which the game is over are satisfied, that the userperforms an operation of ending the stretch game, or the like. The CPU10, when not ending the stretch game, returns to step 84 (see FIG. 21)and repeats the process thereof, and when ending the stretch game, endsthe subroutine process.

Referring back to FIG. 20, after the stretch game process of step 48,the CPU 10 acquires data indicating operation information from the coreunit 70 (step 49), and goes to the next step. Note that the process instep 49 is similar to that in step 42 and will not be described indetail.

Next, the CPU 10 calculates a relax fluid amount of the user after thestretch game (step 50), and goes to the next step. Note that the processin step 50 is similar to that in step 43 and will not be described indetail.

Next, the CPU 10 generates an image representing biological informationwhich indicates a current user's relax fluid amount (after the stretchgame) and a user's relax fluid amount before the start of the stretchgame as respective fluid levels, displays the image on the monitor 2(step 51; see FIG. 18), and goes to the next step. For example, the CPU10 generates a biological information image indicating heights of fluidlevels which represent a relax fluid amount indicated by the relax fluidamount data De as a current user's relax fluid amount and a relax fluidamount indicated by the initial relax fluid amount data Dg as a user'srelax fluid amount before the start of the stretch game. The CPU 10 alsocompares the current user's relax fluid amount with the relax fluidamount before the start of the stretch game to calculate an increase ora decrease in user's relax fluid amount. Thereafter, the CPU 10 displaysthe biological information image and an image indicating the increase ordecrease on the monitor 2. As a result, the user can find out how theirrelax fluid amount has been changed by performing the stretch game.

Next, the CPU 10 calculates a user's physical result of the stretchgame, displays the physical result on the monitor 2 (step 52), and goesto the next step. For example, the CPU 10 uses the result of the stretchgame to calculate the pliancy of the user's body as a physical result.Specifically, the CPU 10 displays the pliancy (pliancy score) of theuser using a limit inclination angle indicated by the limit ground angledata Dp. As an example, the CPU 10 compares the user's limit inclinationangle with an ideal inclination angle in the stretch game, calculates auser's pliancy (pliancy score) based on a difference therebetween, anddisplays the user's pliancy.

Next, the CPU 10 determines whether or not to end the process (step 53).For example, the process is ended under conditions that conditions underwhich the game is over are satisfied, that the user performs anoperation of ending the stretch game, or the like. The CPU 10, when notending the process, returns to step 42 and repeats the process thereof,and when ending the process, ends the process of the flowchart.

Thus, according to the aforementioned information process, predeterminedpresentation is performed using not only a current user's biologicalsignal, but also a current user's motion or attitude. Therefore, theuser can recognize a state of their body to further extent, and promotea change in body state by utilizing a motion or an attitude of the userin combination. For example, in the stretch game, an obstacle image (theceiling T) is generated based on a user's biological signal (respirationfrequency obtained from a pulse wave signal). Also, in the stretch game,the second player character PC2 is moved up and down based on a user'sbiological signal (the act of inhaling/exhaling obtained from a pulsewave signal). Moreover, in the stretch game, a color or countenance ofthe player character PC is changed and an inclination angle of anobstacle image (the ground B) is controlled based on a user's biologicalsignal (the level of difficulty or easiness of the user obtained from apulse wave signal). On the other hand, in the stretch game, the playercharacter PC is inclined based on a current user's motion or attitude(an attitude of the core unit 70).

Note that, in the stretch game, an obstacle image (the ceiling T and theground B) is used to instruct the user to take a predetermined motion orattitude. Here, rising and falling of the ceiling T and an inclinationangle of the ground B are controlled based on a user's biologicalsignal. Alternatively, they may be controlled irrespective of a user'sbiological signal. For example, the ceiling T may be controlled at apredetermined rising/falling frequency, and an inclination angle of theground B may be controlled to gradually increase to a predeterminedangle, whereby rising and falling of the ceiling T and an inclinationangle of the ground B can be controlled irrespective of a user'sbiological signal. In this case, although the user is instructed to takea predetermined motion or attitude irrespective of a user's biologicalsignal or information obtained from the core unit 70, the playercharacter PC (upward and downward movements, inclinations, a color orcountenance, etc.) is controlled based on both a user's biologicalsignal and a current user's motion or attitude (an inclination of thecore unit 70). Note that, when the present invention is applied to othergames, various ways of instruction and control may be contemplated.

Note that, in the description above, predetermined presentation isperformed using parameters, such as a heart rate variance coefficient, arelax fluid amount, a cardiac cycle (R-R interval), a heart rate HR, arespiration frequency, a pulse wave amplitude PA, a difficulty oreasiness level, and the like, which are obtained from a user'sbiological signal (pulse wave signal). Alternatively, other parametersobtained from a user's biological signal (pulse wave signal) may beused. As a first example, predetermined presentation may be performedusing a blood flow rate obtained from a user's biological signal (pulsewave signal). For example, the blood flow rate can be obtained bydividing a pulse wave area PWA (see FIG. 9) obtained from a pulse wavesignal by a heart rate HR. As a second example, predeterminedpresentation may be performed using a user's tension or liveliness level(an activity level of the sympathetic nervous system) obtained from abiological signal (pulse wave signal). For example, a heart rate HR ofthe user at rest is compared with a current heart rate HR to calculate auser's tension or liveliness level (e.g., (current heart rate HR/heartrate HR at rest)×100).

Also, in the description above, a portion (e.g., a fingertip) of theuser's body is irradiated with infrared light, and a user's biologicalsignal (pulse wave signal) is obtained based on the amount of infraredlight which is transmitted through the body portion and is sensed, i.e.,a change in volume of a blood vessel is detected by a so-called opticalmethod to obtain a volume pulse wave. Alternatively, in the presentinvention, a user's biological signal may be acquired using sensors ofother types which obtain physiological information which occurs when theuser performs a physical activity. For example, a user's biologicalsignal may be acquired by detecting a change in pressure in a bloodvessel due to pulsation of the arterial system to obtain a pressurepulse wave (e.g., a piezoelectric method). Alternatively, a musclepotential or a heart potential of the user may be acquired as user'sbiological information. The muscle or heart potential can be detected bya commonly used method employing electrodes. For example, a user'sbiological signal can be acquired based on, for example, a minute changein current in the user's body. Alternatively, a blood flow of the usermay be acquired as user's biological information. A blood flow ismeasured as a pulsating blood flow per heart pulse using anelectromagnetic method, an ultrasonic method or the like, thereby makingit possible to acquire the pulsating blood flow as a user's biologicalsignal. A vital sensor may be attached to a portion (e.g., a chest, anarm, an ear lobe, etc.) other than a finger portion of the user so as toobtain various biological signals described above. Strictly speaking,there may be a difference between pulsation and heartbeat, depending onthe acquired biological signal. However, a heart rate and a pulse rateare considered to be substantially equal to each other, and therefore,the acquired biological signal can be processed in a manner similar tothat of the aforementioned process.

Also, in the description above, the vital sensor 76 transmits dataindicating a pulse wave signal to the game apparatus body 5, which inturn calculates various parameters from the pulse wave signal.Alternatively, data in other process steps may be transmitted to thegame apparatus body 5. For example, the vital sensor 76 may calculate aparameter, such as a heart rate variance coefficient, a relax fluidamount (an activity level of the parasympathetic nervous system), acardiac cycle (R-R interval), a heart rate HR, a respiration frequency,a pulse wave amplitude PA, an activity level of the sympathetic nervoussystem, a difficulty or easiness level or the like, and transmit dataindicating the parameter to the game apparatus body 5. Alternatively,data halfway through calculation of the parameter from a pulse wavesignal may be transmitted from the vital sensor 76 to the game apparatusbody 5.

Also, in the description above, a current user's motion or attitude (amotion of the core unit 70) is detected using an acceleration indicatedby triaxial acceleration data obtained from the acceleration sensor 701.Alternatively, a current user's motion or attitude may be detected usingdata outputted from sensors of other types fixed to the core unit 70.For example, it is possible to use data outputted from a sensor (anacceleration sensor, an inclination sensor) which outputs datacorresponding to an inclination of the core unit 70 with respect to adirection of gravity (hereinafter simply referred to as an“inclination”), a sensor (a magnetic sensor) which outputs datacorresponding to an orientation of the core unit 70, a sensor (agyro-sensor) which outputs data corresponding to a rotational movementof the core unit 70, or the like. The acceleration sensor and thegyro-sensor may be either one which can detect accelerations alongmultiple axes or one which can detect an acceleration along only asingle axis. Alternatively, these sensors may be combined to performmore accurate detection. Note that a camera (e.g., the imaginginformation calculation section 74) fixed to the core unit 70 can beused as the sensor. In this case, an image captured by the cameravaries, depending on a motion of the core unit 70, and therefore, themotion of the core unit 70 can be determined by analyzing the image.

The sensor may be provided outside the core unit 70, depending on thetype thereof. As an example, a camera as the sensor is used to shoot thewhole core unit 70 outside the core unit 70, and an image of the coreunit 70 included in the captured image is analyzed, thereby making itpossible to determine a motion of the core unit 70. Moreover, a systemincluding a unit fixed to the core unit 70 and another unit providedoutside the core unit 70, which cooperate with each other, may be used.As an example, a light source unit is provided outside the core unit 70,and a camera fixed to the core unit 70 is used to capture light from thelight source unit. By analyzing an image captured by the camera, amotion of the core unit 70 can be determined. As another example, asystem including a magnetic field generator provided outside the coreunit 70 and a magnetic sensor fixed to the core unit 70, or the like,may be used.

When the sensor can be provided outside the core unit 70, the core unit70 may not be used. As an example, a camera as the sensor is used tosimply shoot the user, and an image of the user included in the capturedimage is analyzed, thereby making it possible to determine a user'smotion or attitude. Alternatively, a sensor which is provided in aninput device which is operated by the user standing thereon (e.g., aboard controller), and senses a weight acting on the input device or thepresence or absence of an object, can be used to determine a motion oran attitude of the user operating the input device. If sensors of theseembodiments are used to determine a user's motion or attitude, the coreunit 70 may not be used.

Also, in the description above, a motion of the player character PC, adisplayed state of the player character PC, or an obstacle image ischanged, depending on a current user's biological signal and a currentuser's motion or attitude, thereby presenting an image indicating acurrent user's state, an instruction image for prompting the user tochange their state, or the like. Alternatively, presentation to the usermay be performed in other fashions. For example, information indicatinga current user's motion or attitude, an instruction for prompting theuser to change their state, or the like may be presented using audio,light or the like, depending on a current user's biological signal and acurrent user's motion or attitude. For example, audio can be emitted viathe loudspeakers 2 a or the loudspeaker 706 in the game system 1.Specifically, a frequency at which the user should breathe may beindicated by alternately repeating speech sounds “inhale” and “exhale”instead of presenting the ceiling T which rises and falls. Also, aninstruction for the user to act may be provided by repeatedly emitting aspeech sound “incline a little more” until a limit inclination angle isreached, and emitting a speech sound “stop now” when the limitinclination angle is reached, instead of presenting the ground B whichis inclined.

Also, in the description above, a game is used in which the playercharacter PC is moved in a two-dimensional virtual game world, dependingon a user's pulse wave signal and an inclination of the core unit 70.The present invention is applicable to a game in which the playercharacter PC is moved in a three-dimensional virtual game space, and theway in which the player character PC is displayed is changed.

Also, in the examples above, the present invention is applied to thestationary game apparatus 3. The present invention is also applicable toany apparatus that includes at least a vital sensor, a sensor (e.g., anacceleration sensor, an inclination sensor, etc.) for detecting a user'smotion or attitude, and an information processing device for executing aprocess, depending on information obtained from these sensors. Forexample, the present invention is also applicable to general devices,such as a personal computer, a mobile telephone, a Personal DigitalAssistant (PDA), a hand-held game apparatus, and the like.

Also, in the description above, the core unit 70 and the game apparatusbody 5 are connected by wireless communication. Alternatively, the coreunit 70 and the game apparatus body 5 may be electrically connected viaa cable. In this case, a cable connected to the core unit 70 isconnected to a connection terminal of the game apparatus body 5.

Also, of the core unit 70 and the vital sensor 76 constituting thecontroller 7, the communication section 75 is provided only in the coreunit 70. Alternatively, a communication section which wirelesslytransmits biological information data to the game apparatus body 5 maybe provided in the vital sensor 76. Alternatively, the communicationsection may be provided in each of the core unit 70 and the vital sensor76. For example, the communication sections provided in the core unit 70and the vital sensor 76 may each wirelessly transmit biologicalinformation data or operation data to the game apparatus body 5.Alternatively, the communication section of the vital sensor 76 maywirelessly transmit biological information data to the core unit 70, andthe communication section 75 of the core unit 70 may receive it andthereafter may wirelessly transmit operation data of the core unit 70along with the biological information data of the vital sensor 76 to thegame apparatus body 5. In these cases, the connection cable 79 forelectrically connecting the core unit 70 and the vital sensor 76 is nolonger required.

Also, the shape of the core unit 70 and the shapes, number, arrangementand the like of the operation sections 72 thereon, which are describedabove, are only for illustrative purposes. Even in the case of othershapes, numbers, arrangements and the like, the present invention can beachieved. Also, the shape of the vital sensor 76 and the types, number,arrangement and the like of the components therein, which are describedabove, are only for illustrative purposes. Even in the case of othertypes, numbers, arrangements and the like, the present invention can beachieved. Also, the aforementioned coefficients, criteria, expressions,procedures and the like used in the processes are only for illustrativepurposes. Even in the case of other values, expressions and procedures,the present invention can be achieved.

Also, the game program of the present invention may be supplied to thegame apparatus body 5 not only from an external storage medium, such asthe optical disc 4 or the like, but also via a wireless or wiredcommunication line. Alternatively, the game program may be previouslystored on a non-volatile storage device of the game apparatus body 5.Examples of the information storage medium storing the game programincludes a CD-ROM, a DVD, an optical disc-like storage device similar tothose, and a non-volatile semiconductor memory.

The storage medium having stored thereon the information processingprogram and the information processing device according to the presentinvention are capable of prompting the user to change their state byperforming predetermined presentation using a current user's biologicalsignal and a current user's motion or attitude. Therefore, the presentinvention is useful as an information processing program, an informationprocessing device and the like which manage user's biologicalinformation or the like, and a game program, a game apparatus and thelike which perform game processing using user's biological informationor user's operation information.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It is tobe understood that numerous other modifications and variations can bedevised without departing from the scope of the invention. It is also tobe understood that the scope of the invention is indicated by theappended claims rather than by the foregoing description. It is also tobe understood that the detailed description herein enables one skilledin the art to make changes coming within the meaning and equivalencyrange of the present invention. It is also to be understood that all ofthe patents, patent applications and publications recited herein arehereby incorporated by reference as if set forth in their entiretyherein.

It should be understood throughout the present specification thatexpression of a singular form includes the concept of their pluralityunless otherwise mentioned. Specifically, articles or adjectives for asingular form (e.g., “a”, “an”, “the”, etc. in English) include theconcept of their plurality unless otherwise mentioned. It should be alsounderstood that the terms as used herein have definitions typically usedin the art unless otherwise mentioned. Thus, unless otherwise defined,all scientific and technical terms have the same meanings as thosegenerally used by those skilled in the art to which the presentinvention pertain. If there is contradiction, the present specification(including the definitions) precedes.

What is claimed is: 1: A method comprising: wirelessly receiving, at aportable device, physiological data wirelessly transmitted from aphysiological sensor; acquiring acceleration data indicative of aspectsof a motion of the portable device; receiving inputs to a touch inputdevice of the portable device; storing the physiological data and theacceleration data; wirelessly receiving, at the portable device,vibration control signals for controlling a vibration circuit of theportable device; wirelessly transmitting the physiological data and theacceleration data to a computer device; and presenting a presentation,at the computer device, based on both the physiological data and theacceleration data. 2: A system comprising: a physiological sensor forgenerating physiological data associated with a user bearing thephysiological sensor, the physiological sensor being configured towirelessly communicate the physiological data; and a portable devicecomprising: a touch input device; an accelerometer for generatingaccelerometer data indicative of activity of the user; wirelesscommunication circuitry for receiving the physiological data; memory forstoring the accelerometer data and the physiological sensor data; and avibrator for providing tactile output to the user, wherein the wirelesscommunication circuitry transmits the physiological data and theaccelerometer data to a computer device for use in a presentationapplication. 3: The system according to claim 2, wherein thephysiological sensor comprises an optical sensor. 4: The systemaccording to claim 2, wherein the physiological sensor generatesphysiological data associated with heart rate. 5: The system accordingto claim 2, wherein the accelerometer comprises a triaxialaccelerometer. 6: The system according to claim 2, wherein the portabledevice further comprises a connector configured for connecting to acable. 7: The system according to claim 2, wherein the wirelesscommunication circuitry of the portable device is configured to receivevibrator control signals from the computer for controlling the vibrator.8: A portable device for use in a system comprising a computer device,the portable device comprising: a touch input device for receiving atouch input from a user bearing the portable device; an accelerometerfor generating accelerometer data indicative of activity of the user; agyroscope for generating gyroscope data indicative of activity of theuser; a magnetic sensor for generating magnetic field data indicative ofa detected magnetic field; a physiological sensor for generatingphysiological data associated with the user; memory for storing theaccelerometer data, the gyroscope data and the physiological data;wireless communication circuitry for wirelessly communicating theaccelerometer data, the gyroscope data and the physiological data to thecomputer device; and a vibrator configured to provide tactile output tothe user. 9: The portable device according to claim 8, wherein thephysiological sensor comprises an optical sensor. 10: The portabledevice according to claim 8, wherein the accelerometer comprises atriaxial accelerometer. 11: The portable device according to claim 8,wherein the wireless communication circuitry is configured for Bluetoothcommunication. 12: The portable device according to claim 8, wherein thephysiological sensor generates physiological data associated with heartrate. 13: The portable device according to claim 8, further comprising:a connector configured to receive a connection cable. 14: The portabledevice according to claim 8, further comprising: a light detector. 15: Aportable device for an activity monitoring system comprising a computerdevice, the portable device comprising: a button for receiving input ofa user bearing the portable device; a plurality of LEDs for outputtinginformation to the user; an accelerometer for generating accelerometerdata indicative of activity of the user; an optical physiological sensorfor generating physiological sensor data associated with the user;memory for storing the accelerometer data and the physiological sensordata; wireless communication circuitry for wirelessly communicating theaccelerometer data and the physiological data to the computer device; avibrator configured to provide tactile output to the user; and anelectrical connector. 16: The portable device according to claim 15,wherein the accelerometer comprises a triaxial accelerometer. 17: Theportable device according to claim 15, wherein the wirelesscommunication circuitry is configured for Bluetooth communication. 18:The portable device according to claim 15, wherein the opticalphysiological sensor generates physiological data associated with heartrate. 19: The portable device according to claim 15, wherein theelectrical connector is configured for connecting to a cable. 20: Anactivity monitoring system comprising: a physiological sensor forgenerating physiological data associated with the user bearing thephysiological sensor, the physiological sensor being configured towirelessly communicate the physiological data; a portable devicecomprising: a touch input device; an accelerometer for generatingaccelerometer data indicative of activity of the user; wirelesscommunication circuitry for receiving the physiological data; and memoryfor storing the accelerometer data and the physiological data, whereinthe wireless communication circuitry transmits the physiological dataand the accelerometer data; and a computer device comprising: wirelesscommunication circuitry for receiving the accelerometer data and thephysiological data communicated by the portable device; and processingcircuitry configured to generate display data based on one or more ofthe received accelerometer data and the physiological sensor data. 21:The activity monitoring system according to claim 20, wherein thephysiological sensor comprises an optical sensor. 22: The activitymonitoring system according to claim 20, wherein the physiologicalsensor generates physiological data associated with heart rate. 23: Theactivity monitoring system according to claim 20, wherein theaccelerometer comprises a triaxial accelerometer. 24: The activitymonitoring system according to claim 20, wherein the wirelesscommunication circuitry of the portable device and the computer deviceare configured for Bluetooth communication. 25: The activity monitoringsystem according to claim 20, wherein the computer device furthercomprises a memory and the processing circuitry stores receivedphysiological sensor data as a history in the memory. 26: The activitymonitoring system according to claim 20, wherein the display datacomprises an animated character corresponding to the user. 27: Aportable device for an activity monitoring system comprising a computerdevice, the portable device comprising: a plurality of LEDs foroutputting information to a user; an accelerometer for generatingaccelerometer data indicative of activity of the user; a physiologicalsensor comprising an electrode for generating physiological sensor dataassociated with the user; memory for storing the accelerometer data andthe physiological sensor data; wireless communication circuitry forwirelessly communicating the accelerometer data and the physiologicaldata to the computer device; a vibrator for providing tactile output tothe user; and a connector configured for connecting to a cable. 28: Theportable device according to claim 27, further comprising: a touch inputdevice. 29: A portable device for an activity monitoring systemcomprising a computer device, the portable device comprising: a buttoninput; an accelerometer for generating accelerometer data indicative ofactivity of the user; an optical physiological sensor for generatingphysiological data associated with the user; memory for storing theaccelerometer data and the physiological sensor data; wirelesscommunication circuitry for wirelessly communicating the accelerometerdata and the physiological data to the computer device; a vibrator forproviding tactile output to the user; and a connector configured forconnecting to a cable. 30: The portable device according to claim 29,further comprising: a touch input. 31: A portable device for an activitymonitoring system comprising a computer device, the portable devicecomprising: a touch input device; a plurality of LEDs for outputtinginformation to a user; an accelerometer for generating accelerometerdata indicative of activity of the user; an optical physiological sensorfor optically sensing a physiologic characteristic associated with bloodflow of the user and generating physiological data based thereon; memoryfor storing the accelerometer data and the physiological data; wirelesscommunication circuitry for wirelessly communicating the accelerometerdata and the physiological data to the computer device; and a connectorconfigured for connecting to a cable.